Map集合以及Collections工具类的使用

一、Map

(一)概述

1、体系位置:双列集合的顶层接口

2、类比理解:单词含义:地图,在地图上的每一个点,都表示生活中的一个具体位置。地图的点和生活中的位置,有一一对应的关系,这种关系是通过穷举罗列的。

3、数据结构:描述的是一个数据(Key)到另一个数据(Value)的映射关系
(1)Key(键):有规律的,容易记忆的,是一个简单的数据
(2)Value(值):没有规律,不容易记忆,复杂的数据
(3)操作:通过Key来寻找Value

4、映射:对应关系
(1)数学:y = x * x
(2)穷举罗列:{1=1, 2=4, 3=9, 4=16}

5、Java中的Map集合就是通过穷举罗列的方式来表示的

6、Map集合的特点:
(1)Key是唯一的,不能重复
(2)Value是不唯一的,一个Key只能对应一个Value
(3)每一个键都只能对应一个值

7、Map和Collection的区别:
(1)Map是双列集合,是一个接口
(2)Collection是单列集合,是一个接口
(3)Map的所有操作都是针对键的

代码示例

import java.util.HashMap;
import java.util.Map;

public class Demo01_Map {

public static void main(String[] args) {
	Map<String, String> map = new HashMap<>();
	
	map.put("abc", "qwe");
	map.put("abc", "123");
	map.put("zxc", "qwert");
	
	System.out.println(map);
}
}

(二)Map集合的常用方法

1、put(K key, V value) :添加功能(集合中不存在指定的键时),将键值对添加到指定集合中;修改功能(当集合中已经存在指定的键),根据键,修改其对应的值

2、remove(Object key) 根据键,删除键值对;如果键不存在,则不作操作;如果键存在,删除键值对且返回键对应的值

3、clear() 清空集合

4、size() 返回集合中键值对个数

5、get(Object key) 根据键获取对应的值,如果键不存在,则返回null

6、containsKey(Object key) 判断集合是否包含指定键

7、containsValue(Object value) 判断集合是否包含指定值

代码示例

import java.util.HashMap;
import java.util.Map;

public class Demo02_Method {

public static void main(String[] args) {
	//键不能重复,且是无序的
	//值可以重复
	
	Map<Integer, String> map = new HashMap<>();
	
	map.put(111, "aaa");
	map.put(-8, "aaa");
	map.put(97, "bbb");
	map.put(97, "hello");
	map.put(23, "bbb");
	map.put(123456, "qwerty");
	
	System.out.println(map.containsKey(111));
	System.out.println(map.containsKey(1111));
	System.out.println(map.containsValue("aaa"));
	System.out.println(map.containsValue("aaabbb"));
	
	/*System.out.println(map.get(97));
	System.out.println(map.get(1111));*/
	
	//System.out.println(map.size());
	
	/*System.out.println(map);
	
	System.out.println(map.remove(23));
	map.remove(1111);
	
	System.out.println(map);
	
	map.clear();
	
	System.out.println(map);*/
}
}

(三)Map集合的第一种遍历思路

1、获取Map集合中所有的键,存储到一个set集合中,之后遍历set集合,根据键获取值

2、获取Map集合中所有的键:Set keySet()方法

3、遍历Set集合:
(1)迭代器遍历
(2)增强for循环遍历

4、获取到每个键之后,根据键获取值:V get(Object key)

5、图示:
在这里插入图片描述

6、特点:遍历Set集合拿到键之后,还是需要通过map集合获取键对应的值

代码示例

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class Demo03_PringMapFirstWay {

public static void main(String[] args) {
	Map<Integer, String> map = new HashMap<>();
	
	map.put(111, "aaa");
	map.put(-8, "aaa");
	map.put(97, "bbb");
	map.put(97, "
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值