一尘不染

List,ArrayList,Maps,Hashmaps,Collections等之间有什么区别?

java

自从我再次开始使用Java进行编程以来,我就一直在使用HashMaps,而实际上并没有真正理解这些Collections的知识。

老实说,我不确定完全使用HashMaps是最适合我还是生产代码。到目前为止,对我而言,只要我能够获取需要用PHP调用它们的方式的数据对我来说都没关系(是的,我承认您现在正在考虑的任何负面想法)在哪里$this_is_array['this_is_a_string_index']提供了极大的方便回忆变量数组。

所以现在,我已经使用Java超过3个月了,遇到了上面指定的接口,并想知道为什么会有这么多这些东西(更不用说vectors,abstractList
{列表还在继续。 。})?

我的意思是它们彼此之间有什么不同?

更重要的是,在我的案例中使用的最佳接口是什么?


阅读 183

收藏
2020-12-03

共1个答案

一尘不染

API非常清楚它们之间的区别和/或关系:


采集

集合层次结构中的根接口。集合表示一组对象,称为其元素。一些集合允许重复的元素,而另一些则不允许。一些是有序的,而其他则是无序的。

http://download.oracle.com/javase/6/docs/api/java/util/Collection.html

清单

有序集合(也称为序列)。该界面的用户可以精确控制列表中每个元素的插入位置。用户可以通过其整数索引(列表中的位置)访问元素,并在列表中搜索元素。

http://download.oracle.com/javase/6/docs/api/java/util/List.html

不包含重复元素的集合。更正式地说,集合不包含元素对e1和e2,使得e1.equals(e2)最多包含一个空元素。顾名思义,此接口对数学集合抽象进行建模。

http://download.oracle.com/javase/6/docs/api/java/util/Set.html

地图

将键映射到值的对象。映射不能包含重复的键;每个键最多可以映射到一个值。

http://download.oracle.com/javase/6/docs/api/java/util/Map.html


您是否对上述内容感到困惑?如果是这样,请编辑您的原始问题。谢谢。

2020-12-03