• 整理ArrayList和LinkedList中的方法


    ArrayList 和 LinkedList 是 Java 中两种常用的列表(List)实现。它们提供了许多相同的方法,但由于内部实现的不同,这些方法的性能可能会有所不同。以下是一些常用的方法:

    添加元素

    add(E e): 在列表的末尾添加一个元素。
    add(int index, E element): 在指定的索引位置插入一个元素。
    addAll(Collection<? extends E> c): 将另一个集合的所有元素添加到列表的末尾。
    addAll(int index, Collection<? extends E> c): 将另一个集合的所有元素插入到列表的指定位置。
    
    • 1
    • 2
    • 3
    • 4

    删除元素

    remove(int index): 删除指定索引位置的元素。
    remove(Object o): 删除第一个出现的指定元素。
    removeAll(Collection<?> c): 删除列表中所有出现在指定集合中的元素。
    clear(): 删除列表中的所有元素。
    
    • 1
    • 2
    • 3
    • 4

    获取元素

    get(int index): 返回指定索引位置的元素。
    element(): 返回列表的第一个元素(与 get(0) 相同)。
    head(): 返回列表的第一个元素(仅 LinkedList 有此方法)。
    tail(): 返回列表的最后一个元素之前的所有元素组成的列表(仅 LinkedList 有此方法)。
    
    • 1
    • 2
    • 3
    • 4

    检查元素

    contains(Object o): 检查列表中是否包含指定的元素。
    isEmpty(): 检查列表是否为空。
    indexOf(Object o): 返回指定元素在列表中的第一个索引,如果列表不包含该元素,则返回 -1lastIndexOf(Object o): 返回指定元素在列表中的最后一个索引,如果列表不包含该元素,则返回 -1
    • 1
    • 2
    • 3
    • 4

    列表操作

    size(): 返回列表中的元素数量。
    isEmpty(): 检查列表是否为空。
    iterator(): 返回一个迭代器,用于遍历列表中的元素。
    listIterator(): 返回一个列表迭代器,可以用于在列表中向前和向后遍历。
    listIterator(int index): 返回一个列表迭代器,位于指定位置,并可以用于向前和向后遍历。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    排序和搜索

    sort(Comparator<? super E> c): 使用指定的比较器对列表进行排序。
    binarySearch(Object o): 返回指定元素在列表中的索引,该列表必须已排序。
    binarySearch(Object o, Comparator<? super E> c): 使用指定的比较器在已排序的列表中查找指定元素的索引。
    
    • 1
    • 2
    • 3

    对于排序多说一句,
    方法一: 可以按照自定义的规则进行排序,null表示按照自然顺序排列

    List<String> list = Arrays.asList("banana", "apple", "orange");  
    list.sort(Comparator.comparing(String::length)); // 按照字符串长度排序
    
    • 1
    • 2

    方法二: 使用Collections中的sort()方法

    List<String> list = Arrays.asList(5, 8, 4);  
    Collections.sort(list);
    
    • 1
    • 2

    总结:

    选择使用 ArrayList 还是 LinkedList 应基于具体的需求,例如,如果需要频繁地访问列表中的元素,那么 ArrayList 可能会提供更好的性能,而如果需要频繁地插入和删除元素,那么 LinkedList 可能会更适合。

  • 相关阅读:
    IP 协议的相关特性(部分)
    linux系统修改网卡名称
    Cpolar在Linux系统中的应用(网页篇2)
    基于协同过滤的电商推荐系统(2):用户对商品的偏好得分
    Spring源码深度解析:六、ConfigurationClassPostProcessor
    创建servlet,完成信息获取
    微搭低代码从入门到精通01-总体介绍
    中国口罩及其他防护用品行业市场深度调研与发展趋势报告
    四川农业大学就业指南←缺失的就业指导课
    字节码进阶之JVM Attach API详解
  • 原文地址:https://blog.csdn.net/ZTBztb123456/article/details/136272007