javaSE初识集合框架及背后的数据结构

javaSE初识集合框架及背后的数据结构

一、介绍
集合框架,就是java中写好的数据结构,想我们了解的顺序表,链表等等,都是集中在一起的,我们直接使用就行了。框架就是这些集合之间的关系,是怎样的关系连接起来的。
Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组
接口 interfaces 和其实现类 classes 。所以,以后的集合都要导入java.util 包
其主要表现为将多个元素 element 置于一个单元中,用于对这些元素进行快速、便捷的存储 store 、检索
retrieve 、管理 manipulate ,即平时我们俗称的增删查改 CRUD 。

类和接口总预览:
这里并不是把所有的接口,抽象类,实现类都举例出来了,这里举例的都是比较重要的
1、了解清楚,接口和接口之间的关系
2、了解清楚,接口和类之间的关系
3、了解清楚,每个类背后的数据结构大概是个啥?
javaSE初识集合框架及背后的数据结构_第1张图片
我们先了解一下这张图:
接口:其实就是对一个行为的“抽象”。可以说是一个动作的实现
javaSE初识集合框架及背后的数据结构_第2张图片
什么是队列;
javaSE初识集合框架及背后的数据结构_第3张图片
javaSE初识集合框架及背后的数据结构_第4张图片

javaSE初识集合框架及背后的数据结构_第5张图片
javaSE初识集合框架及背后的数据结构_第6张图片
接口说明 interfaces:
javaSE初识集合框架及背后的数据结构_第7张图片

  1. Collection :用来存储管理一组对象 objects ,这些对象一般被成为元素 elements
  2. Set : 元素不能重复,背后隐含着查找/搜索的语义
  3. SortedSet : 一组有序的不能重复的元素
  4. List : 线性结构
  5. Queue : 队列
  6. Deque : 双端队列

Map : 键值对 Key-Value-Pair ,背后隐含着查找/搜索的语义
SortedMap : 一组有序的键值对

** Collection 接口说明**
官方文档
https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html

javaSE初识集合框架及背后的数据结构_第8张图片
javaSE初识集合框架及背后的数据结构_第9张图片
尖括号里面一定放的是“类类型”
add(E): 将元素 e 放入集合中
javaSE初识集合框架及背后的数据结构_第10张图片
void clear( ) 删除集合中的所有元素
javaSE初识集合框架及背后的数据结构_第11张图片
boolean isEmpty( ) : 判断集合是否没有任何元素,俗称空集合
javaSE初识集合框架及背后的数据结构_第12张图片

boolean remove(Object e) 如果元素 e 出现在集合中,删除其中一个
javaSE初识集合框架及背后的数据结构_第13张图片
Object[ ] toArray() 返回一个装有所有集合中元素的数组
javaSE初识集合框架及背后的数据结构_第14张图片
java 中对数组的操作是很特别的
javaSE初识集合框架及背后的数据结构_第15张图片
Integer[ ] 转换成 Object[ ] 可以转换,但是反过来(Object[ ] 转换成 Integer[ ] )转换成某一个具体的就不好转换
javaSE初识集合框架及背后的数据结构_第16张图片

Map 接口说明
官方文档:https://docs.oracle.com/javase/8/docs/api/java/util/Map.html

javaSE初识集合框架及背后的数据结构_第17张图片

V get(Object k) 根据指定的 k 查找对应的 v

javaSE初识集合框架及背后的数据结构_第18张图片
V getOrDefault(Object k, V defaultValue) 根据指定的 k 查找对应的 v,没有找到用默认值代替

javaSE初识集合框架及背后的数据结构_第19张图片
boolean containsKey(Object key) 判断是否包含 key
javaSE初识集合框架及背后的数据结构_第20张图片
Set> entrySet() 将所有键值对返回
javaSE初识集合框架及背后的数据结构_第21张图片

哈希表示怎样存储元素的
javaSE初识集合框架及背后的数据结构_第22张图片
实现classes类
javaSE初识集合框架及背后的数据结构_第23张图片
这部分就是大概的了解一下!!

你可能感兴趣的:(数据结构,java,开发语言)