常见 java 集合的简短摘要:
“Map”:“Map”是一个容器,允许存储 key=>value 对。这样就可以使用键进行快速搜索,以达到其关联的值。在java.util包中有两种实现,'HashMap'和'TreeMap'。前者实现为 hastable,而后者实现为平衡的二叉搜索树(因此还具有对键进行排序的属性)。
“设置”:“设置”是仅包含唯一元素的容器。多次插入相同的值仍将导致“Set”仅包含它的一个实例。它还提供快速操作来搜索,删除,添加,合并和计算两个集合的交集。像“Map”一样,它有两个实现,“HashSet”和“TreeSet”。
“List”:“List”接口由“Vector”、“ArrayList”和“LinkedList”类实现。“列表”基本上是保持其相对顺序的元素的集合。您可以向其添加/删除元素,并在任何给定位置访问各个元素。与“Map”不同,“List”项由一个int索引,该int的位置是“List”(第一个元素位于位置0,最后一个元素位于“List.size()”-1)。“Vector”和“ArrayList”是使用数组实现的,而“LinkedList”,顾名思义,使用链表。需要注意的一件事是,与php的关联数组(更像一个)不同,Java和许多其他语言中的数组实际上表示连续的内存块。可以这么说,数组中的元素基本上并排布置在相邻的“插槽”上。这提供了非常快的查找和写入时间,比使用更复杂的数据结构实现的关联数组快得多。但是,与关联数组不同,它们不能由数组中的数字位置以外的任何内容进行索引。Map
为了真正了解每个集合的优点及其性能特征,我建议您了解数组,链接列表,二叉搜索树,哈希表以及堆栈和队列等数据结构。如果你想成为任何语言的有效程序员,学习这一点真的无可替代。
您还可以阅读 Java 集合跟踪来帮助您入门。