Collection [kəˈlekʃn] 收集的意思(名词)
Collection体系:
集合对泛型的支持:
package com.itheima.d1_collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
/**
* 目标:明确Collection集合体系的特点
*/
public class CollectionDemo1 {
public static void main(String[] args) {
// 有序,可重复 有索引
// ArrayList list = new ArrayList(); // 原来是这样写的
// 左边是父类接口 右边是子类对象 (这就是一种典型的多态写法)
Collection list = new ArrayList(); // 多态的方法,用到的是子类对象的方法 new的那个
list.add("Java");
list.add("Mysql");
list.add("PHP");
list.add("Mybatis");
list.add("false"); // 集合存储引用类型都是打印地址,但是String字符串引用类型特殊,重写了toString方法,所以打印内容
System.out.println(list); // 本来是打印地址,但是集合重写了toString方法,所以打印内容
// HashSet对象 无序 不重复 无索引
Collection list2 = new HashSet(); // 多态的方法,用到的是子类对象的方法 new的那个
list2.add("Java");
list2.add("Mysql");
list2.add("PHP");
list2.add("Mybatis");
list2.add("false");
System.out.println(list2); //[Java, Mysql, false, PHP, Mybatis] 没有按照顺序排
System.out.println("-------------------");
Collection<String> list3 = new ArrayList<>(); // JDK7开始之后,后面类型申明可以不写
list3.add("JAVA");
// list3.add(3); 会报错,规定了泛型是String。 泛型:简单来说就是规定引用类型
// 集合和泛型不支持基本数据类型,只能支持引用的数据类型
// Collection<int> list4 = new ArrayList<>(); // 不支持存储基本数据类型,要进行装箱(使用包装类)
Collection<Integer> list4 = new ArrayList<>();
list4.add(23); // 这里的23已经进行装箱, 认为他是对象23了
list4.add(333);
list4.add(244);
Collection<Double> list5 = new ArrayList<>();
list5.add(2.3);
list5.add(2.22);
}
}