集合(Collection)
集合的概念
前面的学习过程中我们接触过像数组一样的容器,数组可以存储基本数据类型 , 也可以存储引用数据类型。而集合和数组不同,集合只能存储引用数据类型。数组只能存储同种数据类型的元素 ,集合可以存储不同类型的元素。数组的长度是固定的而集合的长度是可变的。
集合的功能
- 添加功能:集合创建后可以调用.add方法添加一个元素。可以调用.addAll给一个集合添加进另一个集合中的所有元素。
- 删除功能:调用.clear移除所有元素。调用.remove(object o)移除一个指定值的元素。调用.removeAll(Collection c): 删除两个集合的交集元素(移除一个以上,返回的就是true,如果没有交集元素,则删除失败,返回false)
- 判断功能:.contains(Object o)可以判断集合中是否包含指定的元素。.containsAll(Collection c)可以判断集合中是否包含指定的集合元素;这个集合包含另一个集合中所有的元素才算包含 才返回true。用.isEmpty()来判断集合是否为空。
- 获取功能:Iterator iterator()(重点)
- 交集功能:.retainAll(Collection c):获取两个集合的交集元素
- 长度功能:调用.size():元素的个数。返回的是一个int型。
- 把集合转换为数组:toArray() 把一个集合转成数组,其实就是依次获取集合中的每一个元素。把集合转成数组toArray(),遍历这个数组 可以实现集合的遍历。
集合没有.length()方法,集合获取长度不同于数组的.length()方法,集合获取长度的方法是调用.size()。
public class MyTest5 {
//集合的练习
public static void main(String[] args) {
//添加功能
ArrayList l = new ArrayList();
l.add(100);//.add添加一个元素
System.out.println(l);
ArrayList l1 = new ArrayList();
l1.add(10);//.add添加一个元素
l1.add(20);//.add添加一个元素
l1.add(30);//.add添加一个元素
l1.add(40);//.add添加一个元素
l1.add(50);//.add添加一个元素
System.out.println(l1);
l.addAll(l1);//.addAll方法给l添加l1里的所有元素
System.out.println(l);
//删除功能
ArrayList li = new ArrayList();//新建集合
li.addAll(l);//.addAll方法给li添加l里的所有元素
System.out.println(li);
li.clear();//调用.clear()方法清空集合
System.out.println(li);
//toArray()方法将集合转化为数组,遍历集合
Object[] a = l.toArray();
System.out.println(a);
for (int i = 0; i < a.length; i++) {//for循环遍历数组
System.out.print(a[i]+",");
}
}
}