说说 Java List 列表
发布日期:2021-06-29 21:05:21 浏览次数:2 分类:技术文章

本文共 670 字,大约阅读时间需要 2 分钟。

Java List 列表定义了一系列的操作方法,这里总结如下:

LinkedList 除了继承了 List 的操作方法之外,还定义一些特殊的方法:

其中有些是同义词,也就是说,这些方法的执行效果是相同的。

1 ArrayList 与 LinkedList 比较

ArrayList 底层是数组结构,形如:

而 LinkedList 则是链表结构:

因为所采用的数据结构不同,所以在以下这些特性上存在区别:

2 最佳实践

(1)尽量使用接口

一般情况下,尽量使用接口(List、Set 或 Map ),因为当业务场景要求需要改变实现时,很容易。

切换为另一种实现:

但如果需要使用具体实现类所特有的方法时,那么接口方式就不适用。比如 LinkedList 类具有 List 类所不具有的方法,如果需要用到这些方法,那么还是需要使用 LinkedList 具体实现类。

(2)集合合并

在两个集合合并的应用场景中,Collections.addAll() 比 Arrays.asList() 运行速度更快,而且写法上也更简洁,所以优先考虑使用。

(3)Arrays.asList() 的本质

Arrays.asList() 的输出表面上是一个 List ,其实本质是数组,所以不能调整大小 。如果使用 add() 或 remove(),就会抛出 UnsupportedOperationException 异常。

如果需要新增或删除,可以改用 new ArrayList<> 方法,然后用 Collections.addAll() 初始化元素:

转载地址:https://deniro.blog.csdn.net/article/details/108296048 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:说说 Java 堆栈
下一篇:说说 Java 迭代器

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月04日 17时39分29秒