image.png
    Collection [kəˈlekʃn] 收集的意思(名词)
    image.png
    Collection体系:
    image.png

    集合对泛型的支持:
    image.png

    1. package com.itheima.d1_collection;
    2. import java.util.ArrayList;
    3. import java.util.Collection;
    4. import java.util.Collections;
    5. import java.util.HashSet;
    6. /**
    7. * 目标:明确Collection集合体系的特点
    8. */
    9. public class CollectionDemo1 {
    10. public static void main(String[] args) {
    11. // 有序,可重复 有索引
    12. // ArrayList list = new ArrayList(); // 原来是这样写的
    13. // 左边是父类接口 右边是子类对象 (这就是一种典型的多态写法)
    14. Collection list = new ArrayList(); // 多态的方法,用到的是子类对象的方法 new的那个
    15. list.add("Java");
    16. list.add("Mysql");
    17. list.add("PHP");
    18. list.add("Mybatis");
    19. list.add("false"); // 集合存储引用类型都是打印地址,但是String字符串引用类型特殊,重写了toString方法,所以打印内容
    20. System.out.println(list); // 本来是打印地址,但是集合重写了toString方法,所以打印内容
    21. // HashSet对象 无序 不重复 无索引
    22. Collection list2 = new HashSet(); // 多态的方法,用到的是子类对象的方法 new的那个
    23. list2.add("Java");
    24. list2.add("Mysql");
    25. list2.add("PHP");
    26. list2.add("Mybatis");
    27. list2.add("false");
    28. System.out.println(list2); //[Java, Mysql, false, PHP, Mybatis] 没有按照顺序排
    29. System.out.println("-------------------");
    30. Collection<String> list3 = new ArrayList<>(); // JDK7开始之后,后面类型申明可以不写
    31. list3.add("JAVA");
    32. // list3.add(3); 会报错,规定了泛型是String。 泛型:简单来说就是规定引用类型
    33. // 集合和泛型不支持基本数据类型,只能支持引用的数据类型
    34. // Collection<int> list4 = new ArrayList<>(); // 不支持存储基本数据类型,要进行装箱(使用包装类)
    35. Collection<Integer> list4 = new ArrayList<>();
    36. list4.add(23); // 这里的23已经进行装箱, 认为他是对象23了
    37. list4.add(333);
    38. list4.add(244);
    39. Collection<Double> list5 = new ArrayList<>();
    40. list5.add(2.3);
    41. list5.add(2.22);
    42. }
    43. }