**
Collection 接口中声明的方法的测试
/**
* Collection 接口中声明的方法的测试
* <p>
* 结论:
* 向Collection接口的实现类的对象中添加数据obj时,要求obj所在类重写equals();
*
* @ClassNameCollectionTest
* @Description TODO
* Auther FSZZULI
* @Date2019/8/22 21:03
* @Version 1.0
**/
public class CollectionTest {
@Test
public void test1() {
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
// Person p = new Person("Jerry",20);
// coll.add(p);
coll.add(new Person("Jerry", 20));
coll.add(new String("tom"));
coll.add(false);
//contains(Object obj):判断当前集合中是否包含obj
//我们在判断时会调用obj对象所在类的equals();
boolean contains = coll.contains(123);
System.out.println(contains);
System.out.println(coll.contains(new String("tom")));
// System.out.println(coll.contains(p));
System.out.println(coll.contains(new Person("Jerry", 20)));//false -->true
//2.containsAll(Collection coll1):判断形参coll1中所有元素是否都存在于当前集合
// Collection coll1 = Arrays.asList(123,45687);
// System.out.println(coll.containsAll(coll1));
}
@Test
public void test2() {
//3.remove(Object obj):从当前集合中移除obj元素
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
// Person p = new Person("Jerry",20);
// coll.add(p);
coll.add(new Person("Jerry", 20));
coll.add(new String("tom"));
coll.add(false);
coll.remove(1234);
System.out.println(coll);
coll.remove(new Person("Jerry", 20));
System.out.println(coll);
//4. removeAll(Collection coll1): 差集:从当前集合中移除coll1中所有的元素
Collection coll1 = Arrays.asList(123, 456);
coll.removeAll(coll1);
System.out.println(coll);
}
@Test
public void tets3() {
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new Person("Jerry", 20));
coll.add(new String("tom"));
coll.add(false);
//5.retainAll(Collection coll1):交集:获取当前集合和coll1集合的交集,并返回给当前集合
/* Collection coll1 = Arrays.asList("tom",123,456,789);
coll.retainAll(coll1);
System.out.println(coll);*/
//6.equals(Object obj):要想返回true,需要获取当前集合和形参集合的元素都相同。
Collection coll1 = new ArrayList();
coll1.add(123);
coll1.add(456);
coll1.add(new Person("Jerry", 20));
coll1.add(new String("tom"));
coll1.add(false);
System.out.println(coll.equals(coll1));
}
@Test
public void test4() {
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new Person("Jerry", 20));
coll.add(new String("tom"));
coll.add(false);
//7.hashCode():返回当前对象的哈希值
System.out.println(coll.hashCode());
//8.集合 --->数组:toArray()
Object[] arr = coll.toArray();
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
//拓展:数组 --->集合:调用Arrays类的静态方法alist();
List<String> list = Arrays.asList(new String[]{"AA", "BB", "CC"});
System.out.println(list);
List arr1 = Arrays.asList(new int[]{123, 456});
System.out.println(arr1.size());//1
List arr2 = Arrays.asList(new Integer[]{123, 456});
System.out.println(arr2.size());//1需要调用包装类
//9.iterator():返回Iterator接口的实例,用于遍历集合元素,放在IteratorTest.java中测试
}
}