List,Set,Map的特点

首先List与Set都是单列元素的集合,它们有一个共同的父接口Collection。

List

  1. 特点: 元素有放入顺序,元素可重复

  2. 存元素:多次调用add(Object)方法时,每次加入的对象按先来后到的顺序排序,也可以插队,即调用add(int index,Object)方法,就可以指定当前对象在集合中的存放位置。
  3. 取元素:

              方法1:Iterator接口取得所有,逐一遍历各个元素。

              方法2:调用get(index i)来明确说明取第几个。             

              for循环,foreach循环,Iterator迭代器迭代。

 Set

  1. 特点:元素无放入顺序,元素不可重复。
  2. 存元素:add方法有一个boolean的返回值,当集合中没有某个元素,此时add方法可成功加入该元素时,则返回true;
    当集合含有与某个元素equals相等的元素时,此时add方法无法加入该元素,返回结果为false。
  3. 取元素:可以foreach循环,iterator迭代器 迭代

 接下来就说Map了。

Map

  1. 特点:元素按键值对存储,无放入顺序(键不能重复,值可以重复,非线程安全,高效,支持null;HashTable线程安全,低效,不支持null )
  2. 每次存储时,要存储一对keyalue,不能存储重复的key,这个重复的规则也是按equals比较相等
  3. 存元素:存放用put方法:put(obj key,obj value),每次存储时,要存储一对keyalue,get(Object key)方法根据key获得相应的value。
  4. 取元素:Map取出元素需转换为Set,然后进行Iterator迭代器迭代,或转换为Entry对象进行Iterator迭代器迭代

 List是用来处理序列的,而Set是用来处理集的。存储的是键值对。

猜你喜欢

转载自blog.csdn.net/qq_41879385/article/details/81229011