Java 集合框架概述

1、集合和数组的区别

共同点:集合和数组都是用来存储多个数据的容器

数组

  数组一旦初始化之后长度不能改变

  数组存储的元素数据类型必须一致,要么是基本数据类型,要么是引用数据类型

  数据的缺点:数组操作数据非常麻烦,没有提供管理(针对数据的增删改查)数据的方法,比如增加数据还要考虑扩容的问题

        //数组存储基本数据类型
        int[] number ={1,2,3};
        //数组存储引用数据类型
        Cellphpne[] cellphpnes = {new Cellphpne("iphone12")};

集合

  集合的长度可以动态变化

  集合存储的数据类型只能是对象,如果你存储了基本数据类型,那么会自动装箱成基本数据类型对应的包装类

  集合可以存储任意的数据类型,在没有使用泛型的前提下,但是使用集合都是会使用泛型集合

  集合的优点:集合操作数据非常方便,JDK的开发人员针对集合操作数据提供了丰富的API,业务系统开发人员只需要掌握API的使用即可,高级程序员就要了解集合的底层实现(数据结构+算法)

        Collection collection = new ArrayList();
        collection.add(1);
        collection.add("tony");
        collection.add(3.14);
        collection.add(true);
        collection.add(new Cellphpne("iphone12"));

由于数组长度固定,没有提供管理数据的方法,因此在日常开发中,如果要使用容器,99.99%考虑使用集合的API。

 

2、集合框架体系结构

集合框架体系结构也就是要搞清楚集合的常用接口,类以及类中提供方法的使用,底层源码的实现。

集合的分类可以分为单列集合和双列集合两大类

单列集合的使用

        //单列集合 添加的是对象
        Collection collection = new ArrayList();
        collection.add(1);
        collection.add("tony");
        collection.add(3.14);
        collection.add(true);
        collection.add(new Cellphpne("iphone12"));

双列集合的使用

        //双列集合,添加的都是key-value键值对形式的对象
        Map<String,String> map = new HashMap<>();
        map.put("姓名","tony");
        map.put("年龄","19");

 

单列集合体系结构

单列结合的顶层接口是java,util.Collection,Collection下有两个子接口:List和Set

  • List
  1. ArrayList
  2. LinkedList
  3. java.util.concurrent.CopyOnWriteArrayList 并发
  • Set
  1. HashSet
  2. TreeSet
  3. LinkedHashSet
  4. java.util.concurrent.CopyOnWriteArraySet 并发

 

双列集合体系结构

java.util.Map接口是双列集合的顶层接口,Map接口下常用的实现类

  • HashMap
  • TreeMap
  • LinkedMap
  • ConcurrentHashMap
  • Properties

 

 集合工具

  • Iterator
  • ListIterator
  • Collections
posted @ 2022-04-29 15:02  刘靖凯  阅读(30)  评论(0编辑  收藏  举报