首先List与Set都是单列元素的集合,它们有一个共同的父接口Collection。
List
特点: 元素有放入顺序,元素可重复
- 存元素:多次调用add(Object)方法时,每次加入的对象按先来后到的顺序排序,也可以插队,即调用add(int index,Object)方法,就可以指定当前对象在集合中的存放位置。
- 取元素:
方法1:Iterator接口取得所有,逐一遍历各个元素。
方法2:调用get(index i)来明确说明取第几个。
for循环,foreach循环,Iterator迭代器迭代。
Set
- 特点:元素无放入顺序,元素不可重复。
- 存元素:add方法有一个boolean的返回值,当集合中没有某个元素,此时add方法可成功加入该元素时,则返回true;
当集合含有与某个元素equals相等的元素时,此时add方法无法加入该元素,返回结果为false。- 取元素:可以foreach循环,iterator迭代器 迭代
接下来就说Map了。
Map
- 特点:元素按键值对存储,无放入顺序(键不能重复,值可以重复,非线程安全,高效,支持null;HashTable线程安全,低效,不支持null )
- 每次存储时,要存储一对keyalue,不能存储重复的key,这个重复的规则也是按equals比较相等
- 存元素:存放用put方法:put(obj key,obj value),每次存储时,要存储一对keyalue,get(Object key)方法根据key获得相应的value。
- 取元素:Map取出元素需转换为Set,然后进行Iterator迭代器迭代,或转换为Entry对象进行Iterator迭代器迭代