以下是 Java 中 String、List、Map 和 Set 的常用方法总结:


1. String 常用方法

构造方法

• String()
创建一个空字符串。
• String(String original)
根据指定字符串创建新字符串。
• String(char[] value)
根据字符数组创建新字符串。

常用方法

查询和比较

• int length()
返回字符串的长度。
• boolean isEmpty()
判断字符串是否为空。
• boolean equals(Object anObject)
比较字符串内容是否相等。
• boolean equalsIgnoreCase(String anotherString)
忽略大小写比较字符串内容。
• int compareTo(String anotherString)
按字典顺序比较字符串。
• int compareToIgnoreCase(String str)
忽略大小写按字典顺序比较字符串。

查找和截取

• char charAt(int index)
返回指定索引处的字符。
• int indexOf(String str)
返回指定子字符串首次出现的索引。
• int lastIndexOf(String str)
返回指定子字符串最后一次出现的索引。
• String substring(int beginIndex)
返回从指定索引开始的子字符串。
• String substring(int beginIndex, int endIndex)
返回从 beginIndex 到 endIndex 的子字符串。

修改

• String concat(String str)
将指定字符串连接到当前字符串末尾。
• String replace(char oldChar, char newChar)
替换字符串中的所有指定字符。
• String replace(CharSequence target, CharSequence replacement)
替换字符串中的所有指定子字符串。
• String toLowerCase()
将字符串转换为小写。
• String toUpperCase()
将字符串转换为大写。
• String trim()
去除字符串两端的空白字符。

转换

• char[] toCharArray()
将字符串转换为字符数组。
• String[] split(String regex)
根据正则表达式拆分字符串。


2. List 常用方法

构造方法

• ArrayList()
创建一个空的 ArrayList。
• LinkedList()
创建一个空的 LinkedList。

常用方法

添加和修改

• boolean add(E e)
将元素添加到列表末尾。
• void add(int index, E element)
将元素插入到指定位置。
• boolean addAll(Collection<? extends E> c)
将集合中的所有元素添加到列表末尾。
• E set(int index, E element)
替换指定位置的元素。

删除

• E remove(int index)
删除指定位置的元素。
• boolean remove(Object o)
删除首次出现的指定元素。
• void clear()
清空列表。

查询

• E get(int index)
返回指定位置的元素。
• int size()
返回列表的大小。
• boolean isEmpty()
判断列表是否为空。
• boolean contains(Object o)
判断列表是否包含指定元素。
• int indexOf(Object o)
返回指定元素首次出现的索引。
• int lastIndexOf(Object o)
返回指定元素最后一次出现的索引。

遍历

• Iterator<E> iterator()
返回列表的迭代器。
• ListIterator<E> listIterator()
返回列表的列表迭代器。

其他

• List<E> subList(int fromIndex, int toIndex)
返回从 fromIndex 到 toIndex 的子列表。
• Object[] toArray()
将列表转换为数组。


3. Map 常用方法

构造方法

• HashMap()
创建一个空的 HashMap。
• TreeMap()
创建一个空的 TreeMap。

常用方法

添加和修改

• V put(K key, V value)
将键值对添加到映射中。
• void putAll(Map<? extends K, ? extends V> m)
将指定映射中的所有键值对添加到当前映射中。

删除

• V remove(Object key)
删除指定键对应的键值对。
• void clear()
清空映射。

查询

• V get(Object key)
返回指定键对应的值。
• boolean containsKey(Object key)
判断映射是否包含指定键。
• boolean containsValue(Object value)
判断映射是否包含指定值。
• int size()
返回映射的大小。
• boolean isEmpty()
判断映射是否为空。

遍历

• Set<K> keySet()
返回映射中所有键的集合。
• Collection<V> values()
返回映射中所有值的集合。
• Set<Map.Entry<K, V>> entrySet()
返回映射中所有键值对的集合。


4. Set 常用方法

构造方法

• HashSet()
创建一个空的 HashSet。
• TreeSet()
创建一个空的 TreeSet。

常用方法

添加和修改

• boolean add(E e)
将元素添加到集合中。
• boolean addAll(Collection<? extends E> c)
将集合中的所有元素添加到当前集合中。

删除

• boolean remove(Object o)
删除指定元素。
• void clear()
清空集合。

查询

• boolean contains(Object o)
判断集合是否包含指定元素。
• int size()
返回集合的大小。
• boolean isEmpty()
判断集合是否为空。

遍历

• Iterator<E> iterator()
返回集合的迭代器。

其他

• Object[] toArray()
将集合转换为数组。


总结

• String 提供了丰富的字符串操作方法。
• List 是有序集合,支持索引访问和修改。
• Map 是键值对集合,支持通过键快速查找值。
• Set 是无序集合,不允许重复元素。

根据具体需求选择合适的集合类型和方法。