线性结构
ArrayList
LinkedList
LinkedList<Integer> list = new LinkedList<>();
list.addFirst(e); // 队首插入
list.addLast(e); // 队尾插入
list.pollFirst(); // 弹出队首
list.pollLast(); // 弹出队尾
list.pollLast(); // 查看队尾
list.isEmpty(); // 判断非空
队列与双端队列
ArrayDeque
PriorityQueue
Set类
HashSet
- 特性
- 常用方法
Set<Integer> set = new HashSet<>();
set.add(e);
set.contains(e);
set.remove(e);
TreeSet
- 特性
- 高级方法
TreeSet<Integer> set = new TreeSet<>();
set.ceiling(e); // 最小 >= e 的元素
set.floor(e); // 最大 <= e 的元素
set.higher(e); // 最小 > e 的元素
映射表
HashMap
- 特性
- 哈希表实现,插入/查找 O(1)
- 允许 null 键/值
- 常用方法
Map<String, Integer> map = new HashMap<>();
map.put(key, val); // 重复 key 则覆盖
map.get(key);
map.containsKey(key);
map.containsValue(Object value);
map.getOrDefault(key, 0);
map.putIfAbsent(K key, V value);// 键不存在则插入
map.remove(Object key)
keySet()
values()
entrySet()
isEmpty()
#### **TreeMap**
- **特性**
- 红黑树实现,按键自然顺序排序
- **高级方法**
```java
TreeMap<Integer, String> map = new TreeMap<>();
map.firstKey(); map.lastKey();
map.lowerEntry(k); // 最大键 < k
map.tailMap(k); // 所有键 >= k
工具类
Arrays
Collections
StringBuilder
String
s.length() // 获取长度
s.charAt(index) // 获取 index 坐标下字符
s.indexOf("el"); // 返回子字符串第一次出现的索引
s.lastIndexOf("l"); // 返回子字符串最后一次出现的索引
s.contains("ell"); // 检查字符串是否包含指定字符序列
s.equals("Hello"); // 判断是否相等
s.equalsIgnoreCase("hello"); // 忽略大小写比较
s.compareTo("Hallo"); // 按字典序比较
s.substring(1, 4); // 截取[1, 4) 子字符串
String.join("-", "Java", "is", "fun"); // joined = "Java-is-fun" 用制度字符进行分割
s.concat(" World"); // 拼接到末尾
s.replace('l', 'L'); // 字符替换,后面替换前面
replaceAll(String regex, String replacement); // 字符串替换
"Java-is-fun".split("-"); // parts = ["Java", "is", "fun"] 字符串分割
s.toLowerCase(); // 转小写
s.toUpperCase(); // 转大写
" Hello ".trim(); // trimmed = "Hello" 去除空白
String.format("Name: %s, Age: %d", "Alice", 25); // formatted = "Name: Alice, Age: 25" 格式化
s.isEmpty(); // 判断是否为空