Java 常用集合

线性结构

ArrayList

  • 特性
    • 动态数组实现
  • 常用方法
    List<Integer> list = new ArrayList<>(100);  // 预分配容量
    list.add(e);  // 增加元素
    list.get(index); // 根据下标获取元素
    list.set(index, e); // 指定的下标 index 处设置一个新的元素 e,并返回原来在该位置的元素。
    list.remove(index); // 删除下标元素
    list.size() // 获取大小

LinkedList

  • 特性
    • 双向链表实现
  • 常用方法
  LinkedList<Integer> list = new LinkedList<>();
  list.addFirst(e); // 队首插入
  list.addLast(e); // 队尾插入
  list.pollFirst(); // 弹出队首
  list.pollLast(); // 弹出队尾
  list.pollLast(); // 查看队尾
  list.isEmpty(); // 判断非空

队列与双端队列

ArrayDeque

  • 特性
    • 循环数组实现
  • 常用方法
    Deque<Integer> deque = new ArrayDeque<>();
    deque.offerFirst(e); // 队首插入
    deque.offerLast(e); // 队尾插入
    deque.pollFirst(); // 弹出队首
    deque.peekLast(); // 弹出队尾

PriorityQueue

  • 特性
    • 堆实现(默认最小堆)
  • 常用方法
    Queue<Integer> pq = new PriorityQueue<>((a,b) -> b - a); // 最大堆
    pq.offer(e); 
    pq.peek(); 
    pq.poll();

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); map.get(key);
    map.containsKey(key); map.getOrDefault(key, 0);

TreeMap

  • 特性

    • 红黑树实现,按键自然顺序排序
  • 高级方法

    TreeMap<Integer, String> map = new TreeMap<>();
    map.firstKey(); map.lastKey();
    map.lowerEntry(k);  // 最大键 < k
    map.tailMap(k);     // 所有键 >= k

工具类

Arrays

  • 核心方法
    int[] arr = new int[10];
    Arrays.sort(arr);  // 快速排序
    Arrays.fill(arr, 0);  // 填充值
    Arrays.binarySearch(arr, key); // 二分查找(必须有序!)

Collections

  • 常用操作
    Collections.reverse(list);     // 反转列表
    Collections.rotate(list, 2);  // 循环右移2位
    Collections.max(list);        // 找最大值
    Collections.shuffle(list); // 打乱顺序

StringBuilder

  • 特性
    高频字符串拼接时使用(替代 String)

    StringBuilder sb = new StringBuilder();
    sb.append("Hello").append(123);
    String result = sb.toString();

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(); // 判断是否为空
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇