上一篇写的是最近开发中用到的一些Map集合方法的描述及示例,现在我在把项目中用到的List集合以及Set集合做一个总结以及代码示例。
项目中我用到的List集合主要是ArrayList以及HashSet,他们全都是继承自Collection接口;
List底层就是数组(也就是说可以根据下标来拿到list中的元素),特点是元素有序放入,元素可以有重复,元素可以为null;可以使用for循环遍历,也可以使用迭代器。
HashSet是基于哈希表实现的,元素无序放入,放入的值可以为null,但是只能有一个null,因为HashSet的元素是不可重复的;Set取值只能使用迭代器或者使用foreach遍历,因为它无序,所以不能依照下标取值。
下面直接上代码,更直观的发现两者的不同
循环List集合元素的代码示例如下:
public static void main(String[] args) {
//new出List实例
List list = new ArrayList();
//在list里添加数据
list.add("飞机");
list.add("坦克");
list.add("大炮");
//循环list
for (int i = 0; i < list.size(); i++) {
//得到list的第i个下标的值
Object o = list.get(i);
//输出得到的值
System.out.println("list集合里第"+i+"个的值为:"+o);
}
}
输出结果为:
list集合里第0个的值为:飞机
list集合里第1个的值为:坦克
list集合里第2个的值为:大炮
foreach遍历Set集合元素的代码如下:(与List集合放入元素的顺序一致)
public static void main(String[] args) {
int i = 1;//用来记录取出的是第几个值
//创建HashSet实例
Set set = new HashSet();
//向集合里添加值
set.add("飞机");
set.add("坦克");
set.add("大炮");
//遍历set集合
for (Object machine:set) {
//输出set集合的每一个值
System.out.println("得到的Set集合第"+i+++"个的值为"+machine);
}
}
输出结果为:
得到的Set集合第1个的值为大炮
得到的Set集合第2个的值为飞机
得到的Set集合第3个的值为坦克
从代码可以看出Set集合与List集合最大的区别就是Set集合的元素储存是无序的不可重复的,而List集合的元素储存是有序的可重复的,和数组一样可以根据下标取值;剩下的存null值大家可以自己试验一下,在这就不多做演示了。---纯属原创,不喜勿喷。