一、单列集合框架结构
1、Collection接口:单列集合,存储一个一个的对象
1.1、List接口:存储有序的、可重复的数据 ——> “动态数组”
ArrayList、LinkedList、Vector
1.2、Set接口:存储无序的、不可重复的数据——> “数学中的集合”
HashSet、LinkedHashSet、TreeSet
二、Collection接口中方法的使用
注意:使用Collection集合存储对象,要求对象所属的类满足:
在Collection接口的实现类中调用的obj对象时,要求obj对象所在的类重写equals方法。
1、add(Object e):将指定的e添加进coll集合
Collection coll = new ArrayList();
//1.add(Object e):将指定的e添加进coll集合
coll.add("AA");
coll.add("CC");
coll.add(123);//自动装箱
coll.add(new Date());
coll.add(true);
2、size():返回coll的元素个数
//2.size():返回coll的元素个数
System.out.println(coll.size());//5
3、addAll(Collection c):将集合c中的数据全部添加到coll
Collection coll1 = new ArrayList();
coll1.add("ZZ");
coll1.add(456);
//3.addAll(Collection c):将集合c中的数据全部添加到coll
coll.addAll(coll1);
System.out.println(coll.size());//7
System.out.println(coll);
4、clear():将集合中的元素全部删除
coll.clear();
5、isEmpty():判断集合元素是否为空
//5.isEmpty():判断集合元素是否为空
System.out.println(coll.isEmpty());
6、contains(Object e):判断e是否在当前集合当中
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(false);
// Person p = new Person("Jerry",20);
// coll.add(p);
coll.add(new Person("Jerry",20));
//6.contains(Object e):判断e是否在当前集合当中
//判断是会调用e对象所在类的equals()
boolean contains = coll.contains(new String("Tom"));
System.out.println(contains);//true
// System.out.println(coll.contains(p));//true
System.out.println(coll.contains(new Person("Jerry", 20)));//重写Person类中的equals方法后:true
7、containsAll(Collection coll1):判断coll1中的元素数据是否都在调用此方法的集合中。
//7.containsAll(Collection coll1):判断coll1中的元素数据是否都在调用此方法的集合中。
Collection coll1 = Arrays.asList(123,4567);
System.out.println(coll.containsAll(coll1));
8、remove(Object obj):从当前集合移除obj元素
//8.remove(Object obj):从当前集合移除obj元素
coll.remove(123);
System.out.println(coll);
coll.remove(new Person("Jerry",20));
System.out.println(coll);
9、removeAll(Collection coll1):差集:将当前集合中与coll1相同的所有元素进行移除
//9.removeAll(Collection coll1):差集:将当前集合中与coll1相同的所有元素进行移除
Collection coll1 = Arrays.asList(123,456);
coll.removeAll(coll1);
System.out.println(coll);
System.out.println(coll1);
10、equals(Objecct obj):如果想返回true,必须要求当前集合与obj集合的所有元素全部相同。
Collection coll1 = new ArrayList();
coll1.add(456);
coll1.add(123);
coll1.add(new String("Tom"));
coll1.add(false);
coll1.add(new Person("Jerry",20));
//10.equals(Objecct obj):如果想返回true,必须要求当前集合与obj集合的所有元素全部相同。
System.out.println(coll.equals(coll1));//false:因为ArrayList是有序的
11、hashCode():返回当前集合的哈希值
//11.hashCode():返回当前集合的哈希值
System.out.println(coll.hashCode());
12、集合——>数组:toArray()
//12.集合——>数组 toArray()
Object[] objects = coll.toArray();
for (int i = 0; i < objects.length; i++) {
System.out.println(objects[i]);
}
//拓展:数组——>集合?调用Arrays的静态方法asList()
List<String> list = Arrays.asList(new String[]{"AA", "BB", "CC"});
System.out.println(list);
List list1 = Arrays.asList(new int[]{123,456});
System.out.println(list1);//[[I@4f8e5cde]
List list2 = Arrays.asList(new Integer[]{123,456});
System.out.println(list2);//[123, 456]
13、iterator():返回Iterator接口的实例,用于遍历集合的元素。
//13.iterator():返回Iterator接口的实例,用于遍历集合的元素。
关于iterator()方法在Java集合之迭代器Iterator接口内容讲解。