集合

1.集合概述
1.1.什么是集合?有什么用?
数组其实就是一个集合。集合实际上就是一个容器。可以来容纳其他类型的数据

    集合为什么说在开发中使用较多?
        集合是一个容器、载体,可以一次容纳多个对象
        在实际开发中,假设连接数据库,数据库当中有十条记录
        那么假设把这十条记录查询出来,在java程序中会将十条
        数据封装成十个java对象,然后将十个java对象放到某一
        个集合当中,将集合传到前端,然后遍历集合,将一个数据
        一个数据的展现出来

1.2.集合不能直接存储基本数据类型,另外集合也不能直接存储java对象,
集合当中存储的都是java对象的内存地址(或者说集合中存储的是引用)
    list.add(100);//自动装箱Integer
    注意:
        集合在java中本身是一个容器,是一个对象
        集合中任何时候存储的都是引用

1.3.在java中每一个不同的集合,底层会对于不同的数据结构,往不同的集合中存储元素,
等于将数据放到了不同的数据结构当中。什么是数据结构?数据存储的结构就是数据结构
不同的数据结构,数据存储的方式不同,例如:
    数组、二叉树、链表、哈希表
    以上这些都是常见的数据结构

    你往集合c1中放数据,可能是放到数组上了
    你往集合c2中放数据,可能是放到二叉树上了
    ...
    你使用不同的集合等同于使用了不同的数据结构

1.4.集合在java JDK中哪个包下?
    java.util.*
        所有的集合类和集合接口都在java.util包下

1.5.最好背会集合的继承结构图(助于掌握)
 集合整个体系是怎样的一个结构,需要有印象

1.6.在java中集合分为两大类:
    一类是单个方式存储元素:
        单个方式存储元素,这一类集合中的超级父接口:java.util.Collection

    一类是以键值对的方式存储元素:
        以键值对的方式存储元素,这一类集合中的超级父接口:java.util.Map;

总结(所有的实现类):
ArrayList:底层是数组
LinkedList:底层是双向链表
Vector:底层是数组,线程安全的,效率较低,使用较少。
HashSet:底层是HashMap,放到HashSet集合中的元素等同于放到HashMap集合的Key部分了
TreeSet:底层是TreeMap,放到TreeSet集合中的元素等同于放到TreeMap集合key部分了
HashMap:底层是哈希表
Hashtable:底层也是哈希表,只不过是线程安全的,效率较低,使用较少了
Properties:是线程安全的,并且Key和Value只能存储String
TreeMap:底层是二叉树数据结构,TreeMap集合的Key可以自动按照大小顺序排序

List集合存储元素的特点:
    有序可重复
    有序:存进去的顺序和取出的顺序相同,每一个元素都有下标
    可重复:存进去1.可以再存储一个1


Set集合存储元素的特点:
    无序不可重复
    无序:存进去的顺序和取出的顺序不一定相同,另外Set集合中元素没有下标
    不可重复:存进去一个1,不能再存储1了

SortSet集合存储元素特点:
    首先是无序不可重复的,但是SortedSet集合中的元素是可排序的
    无序:存进去的顺序和取出的顺序不一定相同,另外Set集合中元素没有下标
    可排序:可以按照大小顺序排列

Map集合的key,就是一个Set集合
往Set集合中放数据,实际上放到了Map集合的key部分

2.总结重点:
第一个重点:把集合继承结构图背会

第二个重点:把Collection接口中的常用方法测试几遍

第三个重点:把迭代器弄明白

第四个重点:Collection接口中的remove方法和contains方法底层都会调用equals
           这个弄明白

3.集合这块最主要掌握什么内容?
3.1.每个集合对象的创建(new)
3.2.向集合中添加元素
3.3.从集合中取出某个元素
3.4.遍历集合
3.5.主要的集合类:
ArrayList
LinkedList
HashSet(HashMap的key,存储在HashMap集合key的元素需要同时重写hashCode + equals)
TreeSet(测试TreeSet集合中的元素是可排序的,测试集合存储类型是自定义的,测试实现Comparable接口的方式,测试实现Comparator接口的方式(最好测试一下匿名内部类的方式))
HashMap
Properties
TreeMap
image
image
image

posted @ 2021-09-28 10:52  guided  阅读(648)  评论(1)    收藏  举报