Java.中 Array VS List哪一个更快? | Java Debug 笔记

本文正在参加「Java主题月 – Java Debug笔记活动」,详情查看<活动链接>

此文章为stackoverflow问题翻译,原问题:stackoverflow.com/questions/2…

问题概述

我现在必须用java在内存中保留数千个字符串用以顺序访问。

我应该将它们存储在数组中还是应该使用某种List?

由于数组将所有数据保存在连续的内存块中(与列表不同),使用数组存储数千个字符串会不会引起问题?

最高赞回答

我建议您使用探查器来测试哪个更快。 我个人认为您应该使用List。

我在大型代码库上工作,以前的一组开发人员在各处都使用了数组。它使代码非常不灵活。将其大部分代码更改为List后,我们注意到速度没有差异。

其他回答

Java方式是您应该考虑最适合您的数据抽象。请记住,在Java中,列表是抽象的,而不是具体的数据类型。您应该将字符串声明为List,然后使用ArrayList实现对其进行初始化。

List<String> strings = new ArrayList<String>();
复制代码

抽象数据类型和特定实现的这种分离是面向对象编程的关键方面之一。

ArrayList使用数组作为其基础实现来实现List Abstract Data Type。访问速度实际上与数组相同,具有的附加优点是能够在List中添加和减去元素(尽管这是使用ArrayList的O(n)操作),并且如果您决定稍后更改基础实现,你可以。例如,如果您意识到需要同步访问,则可以将实现更改为Vector,而无需重写所有代码。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享