Hello World
以下是 Java 中常用的字符串类、集合类和数据结构的简单罗列:
1. 字符串相关类
String
StringBuilder
StringBuffer
CharSequence
2. 集合框架
2.1 List
ArrayList
LinkedList
Vector
Stack
2.2 Set
HashSet
LinkedHashSet
TreeSet
EnumSet
CopyOnWriteArraySet
2.3 Map
HashMap
LinkedHashMap
TreeMap
Hashtable
WeakHashMap
ConcurrentHashMap
IdentityHashMap
2.4 Queue
PriorityQueue
ArrayDeque
LinkedList
(作为队列使用)
ConcurrentLinkedQueue
BlockingQueue
(接口)
LinkedBlockingQueue
ArrayBlockingQueue
PriorityBlockingQueue
SynchronousQueue
2.5 Deque
ArrayDeque
LinkedList
(作为双端队列使用)
3. 数据结构类
Arrays
(数组工具类)
Collections
(集合工具类)
Stream
(Java 8+)
Optional
(Java 8+)
BitSet
(位集合)
Pair
(来自 Apache Commons 或 JavaFX)
Trie
(需要第三方库或自定义实现)
7. 并发相关类
Thread
Runnable
Callable
Future
ExecutorService
ForkJoinPool
Lock
(接口)
ReentrantLock
ReadWriteLock
Semaphore
CountDownLatch
CyclicBarrier
CompletableFuture
AtomicInteger
/ AtomicLong
AtomicReference
总结
以上涵盖了 Java 中常用的字符串类、集合类、数据结构类、时间日期类、数学类、I/O 类、并发类以及其他工具类。这些类是日常开发中最常用的核心部分,可根据需求灵活选择使用。
以下是 Java 常用数据结构的主要 API,按数据结构类别整理:
1. 列表(List)
主要类:ArrayList
、LinkedList
、Vector
、Stack
方法 |
描述 |
boolean add(E e) |
在列表末尾添加元素。 |
void add(int index, E element) |
在指定索引处插入元素。 |
E get(int index) |
获取指定索引处的元素。 |
E set(int index, E element) |
替换指定索引处的元素。 |
E remove(int index) |
移除指定索引处的元素,并返回该元素。 |
boolean remove(Object o) |
移除首次出现的指定元素。 |
boolean contains(Object o) |
判断是否包含指定元素。 |
int indexOf(Object o) |
返回指定元素的首次索引位置,没有返回 -1 。 |
int lastIndexOf(Object o) |
返回指定元素的最后索引位置。 |
int size() |
返回列表长度(元素个数)。 |
boolean isEmpty() |
判断列表是否为空。 |
void clear() |
清空列表。 |
Iterator<E> iterator() |
返回迭代器,用于遍历列表。 |
2. 集合(Set)
主要类:HashSet
、LinkedHashSet
、TreeSet
、EnumSet
、CopyOnWriteArraySet
方法 |
描述 |
boolean add(E e) |
添加元素到集合中,若已存在则不添加,返回 false 。 |
boolean remove(Object o) |
从集合中移除指定元素,成功返回 true 。 |
boolean contains(Object o) |
判断集合是否包含指定元素。 |
int size() |
返回集合的元素个数。 |
boolean isEmpty() |
判断集合是否为空。 |
void clear() |
清空集合中的所有元素。 |
Iterator<E> iterator() |
返回集合的迭代器,用于遍历集合。 |
3. 映射(Map)
主要类:HashMap
、LinkedHashMap
、TreeMap
、Hashtable
、ConcurrentHashMap
方法 |
描述 |
V put(K key, V value) |
将指定键值对插入到映射中,若键已存在则更新值。 |
V get(Object key) |
根据键获取对应的值,若不存在返回 null 。 |
V remove(Object key) |
移除指定键的键值对,返回被移除的值。 |
boolean containsKey(Object key) |
判断是否包含指定键。 |
boolean containsValue(Object value) |
判断是否包含指定值。 |
Set<K> keySet() |
返回所有键的集合。 |
Collection<V> values() |
返回所有值的集合。 |
Set<Map.Entry<K, V>> entrySet() |
返回所有键值对的集合(Map.Entry 是键值对对象)。 |
int size() |
返回映射的键值对数量。 |
boolean isEmpty() |
判断映射是否为空。 |
void clear() |
清空映射中的所有键值对。 |
4. 队列(Queue)
主要类:PriorityQueue
、ArrayDeque
、LinkedList
(作为队列使用)、BlockingQueue
系列
方法 |
描述 |
boolean offer(E e) |
添加元素到队列,若成功返回 true 。 |
E poll() |
获取并移除队首元素,若队列为空返回 null 。 |
E peek() |
获取但不移除队首元素,若队列为空返回 null 。 |
E remove() |
获取并移除队首元素,若队列为空抛出异常。 |
E element() |
获取但不移除队首元素,若队列为空抛出异常。 |
boolean isEmpty() |
判断队列是否为空。 |
int size() |
返回队列中的元素个数。 |
5. 双端队列(Deque)
主要类:ArrayDeque
、LinkedList
(作为双端队列使用)
方法 |
描述 |
void addFirst(E e) |
在队首插入元素。 |
void addLast(E e) |
在队尾插入元素。 |
E removeFirst() |
移除并返回队首元素,若为空抛出异常。 |
E removeLast() |
移除并返回队尾元素,若为空抛出异常。 |
E getFirst() |
获取但不移除队首元素,若为空抛出异常。 |
E getLast() |
获取但不移除队尾元素,若为空抛出异常。 |
E pollFirst() |
获取并移除队首元素,若为空返回 null 。 |
E pollLast() |
获取并移除队尾元素,若为空返回 null 。 |
E peekFirst() |
获取但不移除队首元素,若为空返回 null 。 |
E peekLast() |
获取但不移除队尾元素,若为空返回 null 。 |
6. 栈(Stack,后进先出)
主要类:Stack
(基于 Vector
实现)、ArrayDeque
方法 |
描述 |
E push(E item) |
将元素压入栈顶。 |
E pop() |
移除并返回栈顶元素,若栈为空抛出异常。 |
E peek() |
返回栈顶元素但不移除,若栈为空抛出异常。 |
boolean isEmpty() |
判断栈是否为空。 |
int size() |
返回栈中元素个数。 |
7. 数组(Array,Arrays
工具类)
方法 |
描述 |
T[] copyOf(T[] original, int newLength) |
复制数组到新的长度。 |
void sort(T[] array) |
对数组进行排序。 |
int binarySearch(T[] array, T key) |
使用二分查找指定元素的索引(数组需已排序)。 |
String toString(T[] array) |
返回数组的字符串表示。 |
void fill(T[] array, T value) |
用指定值填充整个数组。 |
8. 特殊数据结构
8.1 BitSet
方法 |
描述 |
void set(int bitIndex) |
设置指定索引位置的位为 true 。 |
boolean get(int bitIndex) |
获取指定索引位置的位值。 |
void clear(int bitIndex) |
清除指定索引位置的位值(设为 false )。 |
int cardinality() |
返回位集合中值为 true 的位数。 |
8.2 Pair(来自第三方库,比如 Apache Commons 或 JavaFX)
方法 |
描述 |
K getKey() |
获取键。 |
V getValue() |
获取值。 |
总结
以上 API 是 Java 中常用数据结构的核心操作,适用于不同的场景,开发中可以根据需求选择合适的数据结构和方法来实现功能。
以下是 Java 中 String
及其相关类(StringBuilder
、StringBuffer
、CharSequence
)的主要 API,按功能分类整理:
1. String
类
1.1 基本操作
方法 |
描述 |
int length() |
获取字符串的长度。 |
boolean isEmpty() |
判断字符串是否为空(长度为 0)。 |
char charAt(int index) |
获取指定索引位置的字符。 |
int indexOf(String str) |
返回指定子字符串首次出现的位置,未找到返回 -1 。 |
int lastIndexOf(String str) |
返回指定子字符串最后一次出现的位置,未找到返回 -1 。 |
1.2 字符串比较
方法 |
描述 |
boolean equals(Object another) |
比较字符串内容是否相等(区分大小写)。 |
boolean equalsIgnoreCase(String another) |
比较字符串内容是否相等(忽略大小写)。 |
int compareTo(String another) |
按字典顺序比较两个字符串,返回负数、0 或正数。 |
int compareToIgnoreCase(String another) |
按字典顺序比较两个字符串(忽略大小写)。 |
1.3 子字符串
方法 |
描述 |
String substring(int beginIndex) |
返回从指定索引开始到结尾的子字符串。 |
String substring(int beginIndex, int endIndex) |
返回指定范围的子字符串(不包含 endIndex )。 |
1.4 字符串替换
方法 |
描述 |
String replace(char oldChar, char newChar) |
替换所有指定字符。 |
String replace(CharSequence target, CharSequence replacement) |
替换所有指定子字符串。 |
String replaceAll(String regex, String replacement) |
基于正则替换所有匹配的子字符串。 |
String replaceFirst(String regex, String replacement) |
替换第一个匹配的子字符串。 |
1.5 大小写转换
方法 |
描述 |
String toUpperCase() |
将字符串转换为大写形式。 |
String toLowerCase() |
将字符串转换为小写形式。 |
1.6 去除空格
方法 |
描述 |
String trim() |
去除字符串两端的空格。 |
String strip() (Java 11+) |
去除字符串两端的空白字符(更严格)。 |
String stripLeading() (Java 11+) |
去除字符串开头的空白字符。 |
String stripTrailing() (Java 11+) |
去除字符串末尾的空白字符。 |
1.7 判断操作
方法 |
描述 |
boolean contains(CharSequence s) |
判断字符串是否包含指定子字符串。 |
boolean startsWith(String prefix) |
判断字符串是否以指定前缀开头。 |
boolean endsWith(String suffix) |
判断字符串是否以指定后缀结尾。 |
boolean matches(String regex) |
判断字符串是否匹配指定的正则表达式。 |
boolean isBlank() (Java 11+) |
判断字符串是否为空白(空格、换行等)。 |
1.8 分割与拼接
方法 |
描述 |
String[] split(String regex) |
按正则表达式拆分字符串为子字符串数组。 |
String[] split(String regex, int limit) |
拆分字符串,最多分割为 limit 个子字符串。 |
String join(CharSequence delimiter, CharSequence... elements) |
用分隔符拼接多个字符串。 |
1.9 类型转换
方法 |
描述 |
static String valueOf(Object obj) |
将对象转换为字符串。 |
char[] toCharArray() |
将字符串转换为字符数组。 |
byte[] getBytes() |
将字符串转换为字节数组。 |
1.10 格式化字符串
方法 |
描述 |
static String format(String format, Object... args) |
格式化字符串并返回结果。 |
2. StringBuilder
和 StringBuffer
2.1 构造方法
方法 |
描述 |
StringBuilder() |
创建一个空的 StringBuilder 对象。 |
StringBuilder(String str) |
使用指定字符串初始化 StringBuilder 对象。 |
2.2 可变字符串操作
方法 |
描述 |
StringBuilder append(String str) |
在末尾追加字符串。 |
StringBuilder insert(int offset, String str) |
在指定位置插入字符串。 |
StringBuilder delete(int start, int end) |
删除指定范围的字符(不包含 end )。 |
StringBuilder deleteCharAt(int index) |
删除指定索引处的字符。 |
StringBuilder replace(int start, int end, String str) |
替换指定范围的字符为新字符串。 |
StringBuilder reverse() |
反转字符串内容。 |
StringBuilder setCharAt(int index, char ch) |
修改指定索引处的字符。 |
2.3 转换
方法 |
描述 |
String toString() |
将 StringBuilder 转为 String 。 |
3. CharSequence
接口
CharSequence
是 String
、StringBuilder
和 StringBuffer
的父接口,提供通用的字符序列操作。
方法 |
描述 |
int length() |
返回字符序列的长度。 |
char charAt(int index) |
返回指定索引处的字符。 |
CharSequence subSequence(int start, int end) |
返回指定范围的子序列。 |
String toString() |
返回字符序列的字符串表示。 |
总结
类别 |
常用方法 |
String |
length() 、charAt() 、substring() 、replace() 、toUpperCase() 、equals() 、split() 、trim() |
StringBuilder /StringBuffer |
append() 、insert() 、delete() 、replace() 、reverse() 、toString() |
CharSequence |
length() 、charAt() 、subSequence() 、toString() |
这些是 Java 中字符串及相关类的常用 API,可根据具体需求选择合适的类和方法。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!