ArrayList和Vector都在内部使用典型的数组。然而,这让我想...为什么我要使用ArrayList,当我可以使用Arrays实现相同的功能?方便是唯一的原因吗?性能关键的应用程序是否会使用ArrayList?
任何提示将不胜感激。
ArrayList和Vector都在内部使用典型的数组。然而,这让我想...为什么我要使用ArrayList,当我可以使用Arrays实现相同的功能?方便是唯一的原因吗?性能关键的应用程序是否会使用ArrayList?
任何提示将不胜感激。
我认为相对于“使用数组实现列表”或者“使用数组”,更喜欢使用列表有多个原因,但以下两点最为重要:
是的,对于性能关键的应用程序来说,它们经常使用ArrayList。在Java中编写的大多数程序中,数组访问很少是主导因素。
ArrayList集合接口比内置原始数组提供了更丰富的功能。通过不必自己编写算法,这些额外的功能将节省您开发时间和调试时间。
此外,许多程序员已经熟悉ArrayList集合接口,因此利用现有的标准库将使您的代码更易于长期阅读和维护。
ArrayList 的内部实现只是一个数组。但 ArrayList 是一个包装类,它具有更多的功能。如果直接处理数组,则无法使用这些功能。
例如:
如果使用数组,则必须实现逻辑以从数组中删除元素。但是如果使用 ArrayList,则会为您执行删除操作。
将元素添加到数组中: 如果使用数组,则必须实现逻辑。但是使用 ArrayList 则很容易。
在这个 ArrayList 类中,您会发现许多日常使用的便捷方法。
希望这能对您有所帮助。