欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > Java集合——list

Java集合——list

2024/11/30 3:05:54 来源:https://blog.csdn.net/2303_79461916/article/details/141621531  浏览:    关键词:Java集合——list

在Java中,List 是一个继承自 Collection 接口的子接口,表示一个有序的集合,允许重复元素。List 接口定义了一组方法来处理列表中的元素,并且有多个具体实现类,如 ArrayListLinkedListVector

1.主要方法

  • add(E e):将指定的元素 e 添加到列表的末尾。
  • add(int index, E element):在指定位置 index 插入元素 element
  • get(int index):返回指定位置 index 的元素。
  • set(int index, E element):用指定的元素 element 替换指定位置 index 的元素。
  • remove(int index):移除指定位置 index 的元素。
  • indexOf(Object o):返回指定元素 o 在列表中第一次出现的索引;如果未找到,则返回 -1
  • lastIndexOf(Object o):返回指定元素 o 在列表中最后一次出现的索引;如果未找到,则返回 -1
  • subList(int fromIndex, int toIndex):返回列表的一个子列表,从 fromIndex(包含)到 toIndex(不包含)。

2.常见实现类

  • ArrayList:底层使用动态数组,提供快速的随机访问,但插入和删除操作可能较慢。

    • 性能特点:对索引的访问非常快,适合频繁读取数据的场景。
    • 线程安全ArrayList 不是线程安全的,若需线程安全的 ArrayList,可以使用 Collections.synchronizedList 方法或 CopyOnWriteArrayList
  • LinkedList:底层使用双向链表,提供快速的插入和删除操作,但随机访问较慢。

    • 性能特点:插入和删除操作较快,适合频繁修改数据的场景。
    • 额外功能:实现了 Deque 接口,提供了双端队列功能(addFirstaddLastremoveFirstremoveLast 等方法)。
  • Vector:底层使用动态数组,类似于 ArrayList,但它是同步的,即线程安全的。

    • 性能特点:由于同步机制,Vector 的性能通常低于 ArrayList
    • 现代使用Vector 现在不常用于新的代码,通常推荐使用 ArrayList

3.遍历list

        使用迭代器

Iterator<E> iterator = list.iterator();
while (iterator.hasNext()) {E element = iterator.next();// 处理元素
}

        增强for

for (E element : list) {// 处理元素
}

        传统的for

for (int i = 0; i < list.size(); i++) {E element = list.get(i);// 处理元素
}

4.实用工具

Collections:提供了一些静态方法来操作 List,如排序、查找、填充等。

Collections.sort(list);
Collections.reverse(list);
Collections.fill(list, value);
//Arrays.asList():将数组转换为 List。
List<String> list = Arrays.asList("one", "two", "three");

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com