1.Collection集合的体系特点


一、Collection集合的体系特点

集合类体系结构

Collection单列集合,每个元素(数据)只包含一个值。

Map双列集合,每个元素包含两个值(键值对)。

Collection集合特点

Collection集合特点

● List系列集合:添加的元素是有序可重复有索引的。

◆ ArrayList、LinkedList:有序、可重复、有索引。

● Set系列集合:添加的元素是无序不重复无索引的。

◆ HashSet:无序、不重复、无索引

◆ LinkedHashSet:有序、不重复、无索引

◆ TreeSet:按照默认升序排序、不重复、无索引

【代码示例】

public class Collection1 {
    public static void main(String[] args){
        // 有序、可重复、有所以
        Collection coll1 = new ArrayList();
        coll1.add("Java");
        coll1.add("Java");
        coll1.add("Mybatis");
        coll1.add("23");
        coll1.add("23");
        coll1.add("false");
        coll1.add("false");
        System.out.println(coll1);

        // 无序、不重复、无索引
        Collection coll2 = new HashSet();
        coll2.add("Java");
        coll2.add("Java");
        coll2.add("Mybatis");
        coll2.add("23");
        coll2.add("23");
        coll2.add("false");
        coll2.add("false");
        System.out.println(coll2);
    }
}

运行结果:

[Java, Java, Mybatis, 23, 23, false, false]
[Java, 23, false, Mybatis]

集合对于泛型的支持

● 集合都是支持泛型的,可以在编译阶段约束集合只能操作某种数据类型

Collection lists = new ArrayList();
Collection lists = new ArrayList<>(); // JDK1.7之后,泛型类型声明可以省略不写

注意:集合和泛型都只能支持引用数据类型,不支持基本数据类型,所以集合中存储的元素都认为是对象。

【代码示例】出现报错哟!

如果集合中要存储基本数据类型的数据怎么办?

// 存储基本类型使用包装类
Collection lists = new ArrayList<>();
Collection lists = new ArrayList<>();

【代码示例】

Collection list1 = new ArrayList<>();
list1.add(23);     //此时是"23"一个对象
list1.add(233);
System.out.println(list1);

Collection list2 = new ArrayList<>();
list2.add(23.1);
list2.add(233.1);
System.out.println(list2);

总结

1、集合的代表是?

● Collection接口

2、Collection集合分了哪2大常用的集合体系?

● List系列集合:有序、可重复、有索引。

● Set系列集合:无序、不重复、无索引。

3、如何约定集合存储数据的类型,需要注意什么?

● 集合支持泛型。

● 集合和泛型不支持基本类型,只支持引用数据类型。