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遍历

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<K> keys = map.keySet(); 
	b. 通过遍历set集合获取每一个键:
		 for(K key:keys){ 
		 	// 通过 键获取对应的值
		 	V value = map.get(key);
		 	// 通过 key和value操作 
		 } 
(2) 键值对遍历: 
	a. 获取所有的键值对:
		 Entry<K,V> Set<Map.Entry<K,V>> 
		 kvs= map.entrySet(); 
	b. 通过遍历的set获取每一个键值对: 	
		 for(Map.Entry<K,V> kv:kvs){ 
		 	// 分别获取键和值 
		 	K key = kv.getKey(); 
		 	V value = kv.getValue(); 
		 	// 通过key和value操作 
		 }

猜你喜欢

转载自blog.csdn.net/weixin_60768515/article/details/123956694