java|Java中的集合体系之Collection【List、Set】和Map集合体系? (十一)

什么是集合

一种操作方便的对象容器,可以用于存储管理多个对象(存储并管理多个对象的一种工具),替换数组.

java|Java中的集合体系之Collection【List、Set】和Map集合体系? (十一)
文章图片

Collection集合体系分为两个子接口: (ListSet)
根接口Collection:
(1) 特点:存储多个Object对象 (2) 方法: a. boolean add(Object obj): 往集合中添加一个对象,添加成功-true;不成功-false b. void clear():清空集合 c. boolean contains(Object o): 判断集合中是否包含某个对象,包含-true;不包含-false

子接口List:
(1) 特点:存储多个Object对象,有序、 有下标、元素可以重复, 下标的范围:0~size-1 (2) 常见的方法:部分继承于父接口 Collection a. boolean add(Object obj): 往集合中添加一个对象; 添加成功-true; 不成功-false b. Object get(int index):通过下标获取对象 注意:如果指定下标超过下标范围,则运行报错,错误信息为: Java.lang.IndexOutOfBoundsExcept ion(下标越界) (3) 实现类:ArrayList (4) 集合遍历: a. 下标遍历: for(int i =0; i<集合名.size(); i++){ // 通过下标获取对应的元素 System.out.println(list.get(i)); } b. forEach遍历: for(数据类型 变量名:要遍历的集合名){ // 直接通过变量名操作集合元素 } 注意:()中的数据类型取决于集合的泛型类型

子接口Set:
(1) 特点:存储任意类型的对象,无序、无下标、元素内容不可以重复 (2) 方法:继承于父接口Collection (3) 实现类:HashSet 注意:如果自定义类型的对象存储在 HashSet集合中; 为了保证元素内容不重复,存储对象对应类中需要覆盖: HashCode 和equals方法 (4) 遍历方式:forEach遍历

【java|Java中的集合体系之Collection【List、Set】和Map集合体系? (十一)】Map体系:
Map的特点
(1) 存储键值对(key-value),一个键值对对应Map集合的一个元素 (2) 键:无序、无下标、元素不允许重复(唯一) (3) 值:无序、无下标、元素内容允许重复

Map的方法:
(1) V put(K key,V value): 往Map集合中添加一个键值对,如果添加的key是第一次出现,则成功添加; 如果key在map中已存在,则用新的value覆盖原来的value值 put两个含义: a. 添加 b. 修改:利用key修饰value (2) int size():获取Map集合中键值对的个数 (3) V get(K key):根据键获取对应的值 (4) boolean containsKey(K key): 判断当前map中是否包含某个键,包含- true;不包含-false (5) boolean containsValue(V value): 判断当前map中是否包含某个值,包含-true,不包含-false (6) V remove(K key):根据键删除map中对应的键值对

Map的实现类: (HashMap
Map集合遍历
(1) 键遍历: a. 获取所有的键: Set keys = map.keySet(); b. 通过遍历set集合获取每一个键: for(K key:keys){ // 通过 键获取对应的值 V value = https://www.it610.com/article/map.get(key); // 通过 key和value操作 } (2) 键值对遍历: a. 获取所有的键值对: Entry Set> kvs= map.entrySet(); b. 通过遍历的set获取每一个键值对: for(Map.Entry kv:kvs){ // 分别获取键和值 K key = kv.getKey(); V value = https://www.it610.com/article/kv.getValue(); // 通过key和value操作 }

    推荐阅读