java集合像是一种容器,可以动态的把多个对象的引用放到容器中
java的集合类可以用于存储数量不等的多个对象,还可以用于保存具有映射关系的关联数组
package com.aff.coll; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Date; import java.util.Iterator; import org.junit.Test; /* 1.存储对象可以考虑: ①数组(基本数据类型&引用数据类型) ②集合(引用数据类型) 2.数组存储对象的特点:Student[] stu = new Student[20]; stu[0] = new Student(); 弊端:①一旦创建,其长度不可变,②真实的数组存放的对象的个数是不可知的 java集合可分为Collection和Map两个体系 Collection接口: set:元素无序,不可重复的集合 list:元素有序,可重复的集合 ---- "动态"数组 Map接口:具有映射关系 "key-value对" 的集合 */ public class TestCollection { @Test public void testCollection2() { Collection coll = new ArrayList(); coll.add(123); coll.add("AA"); coll.add(new Date()); coll.add("BB"); coll.add(new Person("mm", 13)); // .contains(Object obj); 判断集合中是否包含指定的obj元素,如果包含,返回true,反之返回false // 判断的依据:根据元素所在的类的equals()方法进行判断 // 如果存入集合中的元素是自定义类的对象,要求:自定义类要重写equals() 方法 boolean b1 = coll.contains(123); System.out.println(b1);// true System.out.println(coll.size()); boolean b2 = coll.contains(new Person("mm", 13)); System.out.println(b2);// true // .containsAll(Collection coll); 判断当前集合中是否包含coll中所有的元素 Collection coll1 = new ArrayList(); coll1.add(123); coll1.add(new String("AA")); boolean b3 = coll.containsAll(coll1); System.out.println(b3);// true // .retainAll(Collection coll); 取两个集合中的交集 // .remove( Object obj); 删除集合中的obj元素。 若删除成功返回true,否则返回false boolean b4 = coll.remove("BB"); System.out.println(b4);// true // .removeAll(Collection coll);从当前集合中删除包含在coll中的元素 coll.removeAll(coll1); System.out.println(coll); // .equals(Object obj); 判断两个集合中的所有元素完全是否相同 System.out.println(coll1.equals(coll)); // .hashCode(); 算集合中的哈希值, System.out.println(coll.hashCode()); // .toArray(); 将集合转换为数组 Object[] obj = coll.toArray(); for (int i = 0; i < obj.length; i++) { System.out.println(obj[i]); } // iterator(); 返回一个Iterator接口实现类的对象,进而实现集合的遍历 Iterator iterator = coll.iterator(); /* * for (int i = 0; i < coll.size(); i++) { * System.out.println(iterator.next()); } */ // 方式二:使用迭代器Iterator实现集合的遍历 while (iterator.hasNext()) { System.out.println(iterator.next()); } } @Test public void testCollection1() { Collection coll = new ArrayList(); // .seze(); 返回集合元素的个数 System.out.println(coll.size()); // .add(Object obj);向集合中添加一个元素 coll.add(123); coll.add("AA"); coll.add(new Date()); coll.add("BB"); System.out.println(coll.size());// 4 // .addAll(c);将形参coll中包含的所有元素添加到当前集合中 Collection coll1 = Arrays.asList(1, 2, 3);// 数组转换为集合 coll.addAll(coll1); System.out.println(coll.size());// 7 System.out.println(coll);// ArrayList重写了toString方法所以打印了集合中的元素 // .isEmpty(); 判断集合是否为空 System.out.println(coll.isEmpty()); // .clear(); 清空集合元素 coll.clear(); System.out.println(coll.isEmpty()); } }