自从我再次开始使用Java进行编程以来,我就一直在使用HashMaps,而实际上并没有真正理解这些Collections的知识。
老实说,我不确定完全使用HashMaps是最适合我还是生产代码。到目前为止,对我而言,只要我能够获取需要用PHP调用它们的方式的数据对我来说都没关系(是的,我承认您现在正在考虑的任何负面想法)在哪里$this_is_array['this_is_a_string_index']提供了极大的方便回忆变量数组。
$this_is_array['this_is_a_string_index']
所以现在,我已经使用Java超过3个月了,遇到了上面指定的接口,并想知道为什么会有这么多这些东西(更不用说vectors,abstractList {列表还在继续。 。})?
我的意思是它们彼此之间有什么不同?
更重要的是,在我的案例中使用的最佳接口是什么?
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
您是否对上述内容感到困惑?如果是这样,请编辑您的原始问题。谢谢。