gpt4 book ai didi

java - 为什么不总是在 Java 中使用 ArrayLists 而不是普通的数组?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:27:08 26 4
gpt4 key购买 nike

这里有一个小问题:为什么不总是在 Java 中使用 ArrayLists?除了额外有用的功能外,它们显然具有与数组相同的访问速度。我理解它不能容纳原语的局限性,但这很容易通过使用包装器来缓解。

最佳答案

很多项目只使用 ArrayListHashMap 或其他任何东西来处理他们所有的集合需求。但是,让我对此提出一个警告。每当您创建类并在整个代码中使用它们时,如果可能,请引用它们实现的接口(interface),而不是您用来实现它们的具体类。

例如,而不是这个:

ArrayList insuranceClaims = new ArrayList();

这样做:

List insuranceClaims = new ArrayList();

甚至:

Collection insuranceClaims = new ArrayList();

如果您的其余代码仅通过它实现的接口(interface)(ListCollection)知道它,那么以后将它换成另一个实现会变得容易得多,如果你发现你需要一个不同的。就在一个月前,我看到了这种情况,当时我需要换掉一个常规的 HashMap 实现,该实现将按照我在遍历所有项目时放入它们的相同顺序将项目返回给我他们中的。幸运的是,Jakarta Commons Collections 中提供了这样的东西,我只是将 A 换成了 B,只更改了一行代码,因为两者都实现了 Map。

关于java - 为什么不总是在 Java 中使用 ArrayLists 而不是普通的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/717218/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com