java集合框架之Map映射

来源:互联网 发布:vscode tab 2个空格 编辑:程序博客网 时间:2024/06/05 21:15

1.映射的数学解释

设A、B是两个非空集合,如果存在一个法则f,使得对A中的每个元素a,按法则f,在B中有唯一确定的元素b与之对应,则称f为从A到B的映射,记作f:A→B。
-------------------------------------------------------------
映射关系(两个集合):A集合和B集合.
   A集合中的每一个元素都可以在B集合中找到唯一的一个值与之对应.
-------------------------------------------------------------
严格上说,Map并不是集合,而是两个集合之间的映射关系(Map接口并没有继承于Collection接口),然而因为Map可以存储数据(每次存储都应该存储A集合中以一个元素(key),B集合中一个元素(value)),我们还是习惯把Map也称之为集合.
-------------------------------------------------------------

因为:Map接口并没有继承于Collection接口也没有继承于Iterable接口,所以不能直接对Map使用for-each操作.


2.Map映射的方法


import java.util.HashMap;import java.util.Map;public class SetDemo6 {public static void main(String[] args) {Map<String, Object> map = new HashMap<>();map.put("1", "张三");map.put("2", "李四");map.put("3", "王五");map.put("4", "张三");map.put("4", "张三");System.out.println(map);//打印结果:{3=王五, 2=李四, 1=张三, 4=张三},key可以重复,value可以重复}}

3.遍历Map

import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import java.util.Set;public class SetDemo6 {public static void main(String[] args) {Map<String, Object> map = new HashMap<>();map.put("1", "张三");map.put("2", "李四");map.put("3", "王五");map.put("4", "张三");map.put("4", "张三");System.out.println(map);//打印结果:{3=王五, 2=李四, 1=张三, 4=张三},key可以重复,value可以重复//1根据key遍历MapSet<String> keySet = map.keySet();//获取Map中的key的集合for (String key : keySet) {       //遍历key集合Object value = map.get(key);System.out.println(key+"----->"+value);}System.out.println("-----------------------------------------------------------------");//2.获取Map所有的Entry,然后通过Entry遍历MapSet<Entry<String,Object>> entrySet = map.entrySet();//获取Map中的EntrySet集合for (Entry<String, Object> entry : entrySet) {      //遍历EntrySet集合String key = entry.getKey();Object value = entry.getValue();System.out.println(key+"----->"+value);}}}






原创粉丝点击