最近被面了,很囧。java中的集合这么简单的问题都让我回答的模模糊糊,都怪平时没认真啊。总结一下吧。
java中的集合大致分为三大类:Set List Map(Set List 继承自collection)
含义和比较
Set:要求自己元素指向的对象内容不相等,equals 为false;元素没有顺序;最多包含一个null值。
实现有HashSet,LinkedHashSet(插入顺序),SortedSet(元素按天然顺序排序),TreeSet(遍历按天然顺序)。
List:内容可重复;元素有顺序;可以有null值。
其实现有数组实现ArrayList ,向量实现Vector(和ArrayList差不多,但是它是同步的),链表实现LinkedList(双向链表)。
Map:与前两个不同,其元素是成对的,一键一值,键值不能相同。
实现有HashMap(无顺序,null只有一次),HashTable(同步的),LinkedHashMap(插入顺序),SortedMap(天然顺序自动排序),TreeMap(遍历按自然顺序)