这三个集合可以说是哪里都会用到,应用及其广泛;List、Set和Map都只是一个接口,List和Set这两个接口都继承Collection接口,Collection接口和Map接口继承Iterator接口,Iterator接口是所有集合的父接口。
1. List : 存储的元素是有序的、可重复的。
因为是接口,所以要对其进行实现,使用的是ArrayList
List arrayList = new ArrayList();
arrayList.add(1);
arrayList.add(1);
arrayList.add(5);
arrayList.add(4);
arrayList.add(3);
arrayList.add(2);
arrayList.add(1);
System.out.println(arrayList);
注意:这个有序不是指自动排序,刚刚开始我以为是自动排序,原来是按照输入顺序进行存储元素。这个很容易想到,ArrayList的底层原理是什么,下一篇文章进行详细讲解。
2. Set : 存储的元素是无序的、不可重复的。
Set set = new HashSet();
set.add(1);
set.add(1);
set.add(9);
set.add(3);
set.add(2);
set.add(4);
set.add(1);
set.add(0);
System.out.println(set);
可以看出,存储是不按照存储顺序的,而且也是不重复的;但是相信你也发现了,它会自动排序,这是会根据计算hash算法计算自动排序的。
3. Map: 使用键值对(kye-value)存储,类似于数学上的函数y=f(x),“x”代表 key,"y"代表 value,Key 是无序的、不可重复的,value 是无序的、可重复的,每个键最多映射到一个值。
Map map = new HashMap();
map.put(1,10);
map.put(1,10);
map.put(2,10);
map.put(3,10);
System.out.println(map);
可以看出,键是不可重复的,值可以重复。
PS:上述文章里面可能用到图片来源于网络,仅供学习与参考,如有侵权,请私信作者进行删除。