目录

集合

集合框架概述

集合框架是一个用来代表和操纵集合的统一架构。所有的集合框架都包含如下内容:

  • **接口:**是代表集合的抽象数据类型。例如 Collection、List、Set、Map 等。之所以定义多个接口,是为了以不同的方式操作集合对象

  • **实现(类):**是集合接口的具体实现。从本质上讲,它们是可重复使用的数据结构,例如:ArrayList、LinkedList、HashSet、HashMap。

  • **算法:**是实现集合接口的对象里的方法执行的一些有用的计算,例如:搜索和排序。这些算法被称为多态,那是因为相同的方法可以在相似的接口上有着不同的实现。

除了集合,该框架也定义了几个 Map 接口和类。Map 里存储的是键/值对。尽管 Map 不是集合,但是它们完全整合在集合中。

集合框架体系如图所示

https://gitee.com/lienhui68/picStore/raw/master/null/20200826201850.png

集合框架说明

https://gitee.com/lienhui68/picStore/raw/master/null/20200826201457.png

集合和数组的区别

https://gitee.com/lienhui68/picStore/raw/master/null/20200826202452.png

Collection集合的方法

https://gitee.com/lienhui68/picStore/raw/master/null/20200826202509.png

List和Set的选择

https://gitee.com/lienhui68/picStore/raw/master/null/20200826203032.png

Map

Map用于保存具有映射关系的数据,Map里保存着两组数据:key和value,它们都可以使任何引用类型的数据,但key不能重复。所以通过指定的key就可以取出对应的value。

https://gitee.com/lienhui68/picStore/raw/master/null/20200826203202.png

TreeMap

https://gitee.com/lienhui68/picStore/raw/master/null/20200826203335.png

小结

数据结构 ArrayXxx:底层数据结构是数组,查询快,增删慢 LinkedXxx:底层数据结构是链表,查询慢,增删快 HashXxx:底层数据结构是哈希表。依赖两个方法:hashCode()和equals() TreeXxx:底层数据结构是二叉树。两种方式排序:自然排序和比较器排序