Java集合框架
文章目录
1.Java集合是一种容器,是数据的存储结构,允许对其中不同类型的数据对象进行存储,检索和其他操作。
2.
集合框架
就是对不同类型的集合进行统一。3.
集合框架
是一种顶层设计,可以从底层来理解:设计集合框架的目的是为了将常用的数据结构和算法做一些限制后,可以使用一些公用的方法,或者相似的操作方式。
Java SE8
集合框架类图
Java集合框架中的常用的数据结构有:
list接口中元素的特点是:可以重复,从末尾添加,有索引
Set接口中元素的特点是:不能重复,元素无序
Map接口不继承Collection,是Key/Value的映射的集合:键不能重复,值可以,无序集合
常见异常 | Reason |
---|---|
UnsupportedOperationException |
集合不可更改 |
ClassException |
欲加入对象不兼容 |
IndexOutBoundException |
索引越界 |
Collection接口
Collection接口下的数据以
单列集合
的形式存放
Collection 方法 | 功能 |
---|---|
public boolean add(E e) |
添加 e |
public void clear() |
清空 集合 |
public boolean remove(E e) |
删除 e |
public boolean contains(E e) |
是否包含 e |
public boolean isEmpty() |
集合为空? |
public int size() |
集合大小 |
public Object[] toArray() |
转存数组 |
Map接口
Map接口下的数据以
双列集合
的形式存放
HashMap
的底层实现是:数组+单向链表 特点是:存取顺序可能不一致。
linkedHashMap
的底层实现是:哈希表+链表
Map接口中定义的常用方法 | 功能 |
---|---|
public v put(K key,V value) |
添加 |
pulic V remove(Object key) |
删除键值,返回其V值 |
public V get(Object key) |
根据键值,获取其V值 |
public containsKey(Object key) |
键值判存 |
public Set<K> keySet() |
键值转存 |
public Set<Map.Entry<K,V>> entrySet() |
单列集合 和 双列集合 的不同:
单列集合每次存储一个元素,双列集合每次存储一对元素
Collection接口 定义了 单列集合规范
每次存储一个元素:
单列集合 |
---|
黄轩 |
---|
肖战 |
谢霆锋 |
Map接口 定义了 双列集合规范
每次存储一对元素:
双列集合 |
---|
黄晓明 | 杨颖 |
---|---|
邓超 | 孙俪 |
谢霆锋 | 王菲 |
单列和双列集合同一类操作却有不同的说法,注意区分
操作 | 单列集合 | 双列集合 |
---|---|---|
向集合内添加元素 | add | put |