List 和 Set与Map

List 接口是collection的子接口,用于定义线性表数据结构,元素可重复,有序的。

可以将list理解为存放元素的数组,只不过其元素个数可以动态的增加和减少

list的两个实现类 ArrayList和LinkList,分别用动态数组和链表的方式实现了list接口

ArrayList和LinkList 的方法在逻辑上完全一样,只是在性能上有一定的差别。ArrayList更适合随即访问,LinkList更适合删除和插入

set是无序,用于存储不重复的对象集合。在set集合中存储的对象中,不存在两个对象equals比较为true的情况。

HashSet  和 TreeSet 是set集合的两个常见的实现类,分别使用hash表和排序二叉树的方式实现了set集合

set没有get(index)方法 所以我们不能向使用list那样,根据下标获取元素。需要使用Iterator

 Map 接口定义的集合又称为查找表,用于存储所谓的“Key-Value”键值对。key可以看成是value的索引,而往往key是Value的一部分

key 不可以重复,但是其保留的value可以重复

map的实现类 有HashMap 和TreeMap

创建map时,使用泛型,这里要约束两个类型,一个是key的类型 一个value类型

                                        

原文地址:https://www.cnblogs.com/zjf6666/p/6490907.html