尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Java List 常用方法全攻略

Java List 常用方法全攻略 给 Java 新手的超全 List 使用指南---前言学 Java 的人几乎每天都要和 List 打交道。它是最常用的数据结构之一面试会问、工作会用、代码里到处都有它的身影。别担心这篇博客不会堆砌概念而是用**大白话 大量代码**带你把 List 真正搞懂。什么是 ListList 是一个**有序的集合**你可以把它想象成一个**动态数组**。- ✅ 可以放重复的元素- ✅ 有索引从 0 开始- ✅ 长度可以动态增长在 Java 中最常用的实现类是 ArrayList。// 创建一个 List ListString list new ArrayList();注意啦List 是接口ArrayList 是实现类。一般都用这种写法。1. 添加元素add() — 往里加ListString fruits new ArrayList(); fruits.add(苹果); // 加到末尾 fruits.add(香蕉); fruits.add(橙子); System.out.println(fruits); // [苹果, 香蕉, 橙子]add(index, element) — 插队fruits.add(1, 葡萄); // 插入到索引 1 的位置 System.out.println(fruits); // [苹果, 葡萄, 香蕉, 橙子]addAll() — 批量添加ListString moreFruits Arrays.asList(西瓜, 哈密瓜); fruits.addAll(moreFruits); System.out.println(fruits); // [苹果, 葡萄, 香蕉, 橙子, 西瓜, 哈密瓜]2. 获取元素get(index) — 取出来String first fruits.get(0); // 第一个 String second fruits.get(1); // 第二个 System.out.println(first); // 苹果 System.out.println(second); // 葡萄⚠️ **注意**索引从 0 开始别越界了否则会抛 IndexOutOfBoundsException。3. 修改元素set(index, element) — 替换fruits.set(0, 草莓); // 把第一个改成草莓 System.out.println(fruits); // [草莓, 葡萄, 香蕉, 橙子, 西瓜, 哈密瓜]4. 删除元素remove(index) — 按索引删fruits.remove(0); // 删除第一个 System.out.println(fruits); // [葡萄, 香蕉, 橙子, 西瓜, 哈密瓜]remove(element) — 按内容删fruits.remove(香蕉); // 删除香蕉这个元素 System.out.println(fruits); // [葡萄, 橙子, 西瓜, 哈密瓜]clear() — 清空全部fruits.clear(); // 全部删掉 System.out.println(fruits); // []5. 查找元素contains() — 查是否存在boolean hasOrange fruits.contains(橙子); System.out.println(hasOrange); // trueindexOf() — 查位置int position fruits.indexOf(橙子); System.out.println(position); // 1找不到返回 -1isEmpty() — 判空boolean empty fruits.isEmpty(); System.out.println(empty); // false因为里面有东西6. 遍历 List这是最常用的操作之一必须掌握普通 for 循环for (int i 0; i fruits.size(); i) { System.out.println(fruits.get(i)); }增强 for 循环推荐新手用for (String fruit : fruits) { System.out.println(fruit); }Iterator面试常问IteratorString it fruits.iterator(); while (it.hasNext()) { String fruit it.next(); System.out.println(fruit); }forEachJava 8fruits.forEach(fruit - System.out.println(fruit));方法引用更简洁fruits.forEach(System.out::println);7. 排序Collections.sort() — 简单排序ListInteger numbers new ArrayList(); numbers.add(5); numbers.add(2); numbers.add(8); numbers.add(1); Collections.sort(numbers); System.out.println(numbers); // [1, 2, 5, 8]自定义排序ComparatorListString names new ArrayList(); names.add(Tom); names.add(Alice); names.add(Bob); names.add(Diana); // 按长度排序 names.sort(Comparator.comparingInt(String::length)); System.out.println(names); // [Tom, Bob, Alice, Diana]8. 转换成数组toArray() String[] array fruits.toArray(new String[0]); for (String fruit : array) { System.out.println(fruit); }9. 数组转 ListArrays.asList()String[] colors {红, 蓝, 绿}; ListString colorList Arrays.asList(colors); System.out.println(colorList); // [红, 蓝, 绿]⚠️ 注意这个方法返回的 List **不能增删**是固定长度的。如果需要可变的ListString mutableList new ArrayList(Arrays.asList(colors));10. 常用技巧合集判断两个 List 是否相等ListString a Arrays.asList(1, 2, 3); ListString b Arrays.asList(1, 2, 3); System.out.println(a.equals(b)); // true复制 ListListString original new ArrayList(Arrays.asList(a, b, c)); ListString copy new ArrayList(original);替换所有元素Java 8ListString words new ArrayList(Arrays.asList(hello, world)); words.replaceAll(s - s.toUpperCase()); System.out.println(words); // [HELLO, WORLD]过滤元素Java 8 StreamListInteger nums new ArrayList(Arrays.asList(1, 2, 3, 4, 5, 6)); ListInteger even nums.stream() .filter(n - n % 2 0) .collect(Collectors.toList()); System.out.println(even); // [2, 4, 6]总结| 操作 | 常用方法 ||------|----------|| 添加 | add(), addAll() || 获取 | get() || 修改 | set() || 删除 | remove(), clear() || 查找 | contains(), indexOf() || 遍历 | for, forEach, Iterator || 排序 | Collections.sort(), list.sort() |List 是 Java 开发中最基础也最重要的集合类**一定要熟练掌握**。建议把上面的代码自己跑一遍感受一下各个方法的效果。动手比看十遍都管用如果觉得有帮助欢迎收藏、转发。有问题评论区见~
返回列表