list和set的拉拉扯扯的关系
list和set的异同点
1、相同点,list和set均继承自collection类,
2、不同:
list:有元素放入的顺序,元素可以重复;
set:无顺序,不可以重复,虽然无顺序,但位置有HashCode决定,则位置其实是固定的;
set可以转换成list吗?当然可以。
方法一:
Map<String, String> map = new HashMap<String, String>();
map.put("ele1", "小樱");
map.put("ele2", "若曦");
map.put("ele3", "晴川");
Set<String> set = map.keySet();
//Set转List,方法一 : ArrayList(Collection<?> c)
List<String> list1 = new ArrayList<String>(set);
for(int i = 0; i < list1.size(); i++){
System.out.println("list1(" + i + ") --> " + list1.get(i));
}
//Set转List,方法二:List实现类(ArrayList/LinkedList)的方法 -- addAll(Collection<?> c)
List<String> list2 = new ArrayList<String> ();
list2.addAll(set);
for(String elem : list2){
System.out.println(elem);
}