【Java面试题】36 List、Map、Set三个接口,存取元素时,各有什么特点?

ListSet都是单列元素的集合,它们有一个功共同的父接口Collection

Set里面不允许有重复的元素,

存元素:add方法有一个boolean的返回值,当集合中没有某个元素,此时add方法可成功加入该元素时,则返回true;当集合含有与某个元素equals相等的元素时,此时add方法无法加入该元素,返回结果为false

取元素:没法说取第几个,只能以Iterator接口取得所有的元素,再逐一遍历各个元素。

 

List表示有先后顺序的集合

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

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

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

 

Map双列的集合,存放用put方法:put(obj key,obj value),每次存储时,要存储一对key/value,不能存储重复的key,这个重复的规则也是按equals比较相等。

取元素:用get(Object key)方法根据key获得相应的value

        也可以获得所有的key集合,还可以获得所有的value集合,

        还可以获得keyvalue组合成的Map.Entry对象的集合。

 

List以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值。

posted @ 2017-03-28 16:35  暖阳g  阅读(16942)  评论(0编辑  收藏  举报