collection知识点2

Collection作为顶层集合接口,它不能直接创建对象,需要用多态的方式,通过父类引用指向子类对象的方式进行。

add方法,返回boolean型,表示是否将指定的元素追加到此列表的末尾了。且add会再集合中添加相应元素

例子:

Collection c = new ArrayList();
boolean b1 = c.add("ab"); //add中可以存储各种对象
boolean b2 = c.add(100); //参数是基本数据类型,则存储时先会自动装箱
boolean b3 = c.add(new Student("张三",23));
boolean b4 = c.add("ab");

则返回b4是true,因为存储允许重复。  

如果是set类:

Collection c2 = new HashSet();
c2.add("a");
boolean b = c2.add("a");
System.out.println(b); //原因是set类存储不可重复,当重复时,返回false

因为set类不允许存储重复,返回是false

所以,如果是List集合,则add方法一直会返回true;如果是Set集合存储重复元素时,add方法会返回false。

用system.out.println(c)  时,返回的是 [具体的元素值] 的形式,因为ArrayList的父类的父类(看源码即可)集合的toString()被重写了,而不会输出Object的toString结果。

@SuppressWarnings({ "rawtypes", "unchecked" }) //原始类型不检查   --》可减少警告

collectionXxx.java使用了未经检查或不安全的操作.
注意:要了解详细信息,请使用 -Xlint:unchecked重新编译.
java编译器认为该程序存在安全隐患
温馨提示:这不是编译失败,所以先不用理会,等学了泛型你就知道了

猜你喜欢

转载自www.cnblogs.com/fjwjw/p/9889123.html