List常用方法总结

常用方法有:

  • 一、测试添加方法、数组转列表方法,获取下标方法
  • -1.add(E e) :将指定的元素追加到此列表的末尾(可选操作)。
  • -2.list.indexOf(obj):获取当前元素的下标:返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。
  • -3.add(int index, E element) :将指定的元素插入此列表中的指定位置(可选操作)。
  • -4.Arrays.asList(obj):将参数obj(数组),转换为列表
  • -5.addAll(Collection<? extends E> c) :按指定集合的迭代器(可选操作)返回的顺序将指定集合中的所有元素附加到此列表的末尾。
  • -6.addAll(int index, Collection<? extends E> c) :将指定集合中的所有元素插入到此列表中的指定位置(可选操作)。
  • 二、删除
  • -7.remove(int index) :删除该列表中指定位置的元素。
  •   removerAll  :从此列表中删除包含在指定集合中的所有元素
    
  •   retainAll(Collection<?> c) 仅保留此列表中包含在指定集合中的元素
    
  • -8.boolean remove(Object o) 从列表中删除指定元素的第一个出现(如果存在)(可选操作)。
  • -9.boolean removeAll(Collection<?> c) :从此列表中删除包含在指定集合中的所有元素(可选操作)。
  • -10.clear():从此列表中删除所有元素(可选操作)。
  • 三、查询–遍历集合
  • -11.for循环
  • -12.foreach循环
  • -13.iterator() 以正确的顺序返回该列表中的元素的迭代器。
  • 此外还有get(index)按下标查询等简单方法
  • 四、各种判断方法是否存在?有个问题,重写equals方法?
  • -14.boolean contains(Object o):如果此集合包含指定的元素,则返回true 。
  • -15.boolean containsAll(Collection<?> c):如果此集合包含指定集合中的所有元素,则返回true。
  • 五、修改
  • -16.set(int index, E element) 用指定的元素(可选操作)替换此列表中指定位置的元素。
  • 六、排序
  • sort 默认是按照从小到大的顺序排列,可以对其进行改写``。
  • 部分方法演示:
		ArrayList<String> list = new ArrayList<>();
        /*list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("e");*/
        // public static <T> boolean addAll(Collection<T> c,T...elements);往集合中添加一部分元素
        Collections.addAll(list,"a","b","c","d","e");
        System.out.println(list);//[a, b, c, d, e]

        //public static void shuffle(List<?> list);打乱顺序
        Collections.shuffle(list);
        System.out.println(list);//[d, b, a, e, c]
ArrayList<Integer> list = new ArrayList<>();
        Collections.addAll(list,1,9,6,2,4);//往集合中添加一部分元素
        System.out.println(list);//[1, 9, 6, 2, 4]

        Collections.sort(list);//将集合中的元素按照默认规则排序
        System.out.println(list);//[1, 2, 4, 6, 9]
<think>我们正在总结JavaList接口的常用方法。根据引用[1]中提到的排序方法,以及引用[2]中关于文件操作和其他方法的示例,我们可以推断出List接口的常用方法包括但不限于:添加、删除、获取、排序等。由于引用[1]中特别提到了Collections.sort()方法,它用于对List进行排序。而引用[2]中虽然主要讲的是File类,但其中关于集合操作的一些方法(如判断存在、获取大小等)在List中也有类似方法。因此,我们将结合标准JavaList接口的常用方法进行总结,包括:1.添加元素:add,addAll2.删除元素:remove,removeAll,clear3.获取元素:get,indexOf,lastIndexOf4.大小和判断:size,isEmpty,contains,containsAll5.修改元素:set6.迭代:iterator,listIterator7.子列表:subList8.排序:sort(Java8以后List接口直接提供了sort方法),也可以使用Collections.sort()9.转换为数组:toArray10.其他:replaceAll(Java8),forEach(Java8)等注意:引用[1]中提到了Comparator,在排序时会用到。下面我们按照这个思路总结。</think>### Java List 常用方法总结 `List` 是 Java 中最常用的集合接口之一,用于存储有序且可重复的元素。以下是核心方法分类总结: #### 1. **元素操作** - **添加元素** - `boolean add(E e)`:尾部添加元素(如 `list.add("Java")`) - `void add(int index, E e)`:在指定索引插入元素(如 `list.add(0, "First")`) - `boolean addAll(Collection<? extends E> c)`:添加整个集合 - **删除元素** - `E remove(int index)`:移除指定索引元素(返回被删元素) - `boolean remove(Object o)`:移除首个匹配对象(如 `list.remove("Java")`) - `void clear()`:清空所有元素 - **获取元素** - `E get(int index)`:返回指定索引元素(如 `list.get(0)`) - `int indexOf(Object o)`:返回元素首次出现的索引(不存在返回 `-1`) - `int lastIndexOf(Object o)`:返回元素最后一次出现的索引 #### 2. **集合信息** - `int size()`:返回元素数量(如 `list.size()`) - `boolean isEmpty()`:判断集合是否为空 - `boolean contains(Object o)`:检查是否包含指定元素 - `boolean containsAll(Collection<?> c)`:检查是否包含指定集合的所有元素 #### 3. **修改与转换** - `E set(int index, E e)`:替换指定索引元素(返回旧值) - `Object[] toArray()`:将集合转为数组(如 `list.toArray()`) - `<T> T[] toArray(T[] a)`:转为指定类型的数组 #### 4. **迭代与子集** - `ListIterator<E> listIterator()`:获取双向迭代器 - `List<E> subList(int fromIndex, int toIndex)`:获取子列表(左闭右开区间) #### 5. **排序**(需结合工具类) - **默认排序**(自然顺序): ```java Collections.sort(list); // 对数字/字符串升序排列 ``` - **自定义排序**(通过 `Comparator`): ```java Collections.sort(list, (a, b) -> b.compareTo(a)); // 降序排列 ``` 引用[^1]提到:`static <T> void sort(List<T> list, Comparator<? super T> c)` 支持按指定规则排序。 #### 6. **Java 8+ 扩展方法** - `void forEach(Consumer<? super E> action)`:遍历元素(如 `list.forEach(System.out::println)`) - `void replaceAll(UnaryOperator<E> operator)`:批量替换元素 --- ### 示例代码 ```java List<String> languages = new ArrayList<>(); languages.add("Java"); languages.add(0, "Python"); // 插入到首位 System.out.println(languages.get(1)); // 输出 "Java" languages.remove("Python"); Collections.sort(languages); // 排序 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值