Java的Map
2021/8/6 9:06:13
本文主要是介绍Java的Map,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java学习之Map
Map接口简介
- Map对象是一种双列集合,每一个元素都是一组键值对(键对象和值对象)
- 键值对之间存在的关系称为映射,Map中的映射是一对一的,根据键可以找到与之对应的值对象
- Map中的Key对象和Value对象可以是任意数据类型,但是必须确保键值是唯一的
HashMap集合
- HashMap集合是Map接口的一个实现类,该集合的键值允许为空,但键不能为重复,而且集合中的元素是无序的
- HashMap底层是由哈希表结构组成的,其实就是数组加链表的组合,数组是HashMap的主体结构,链表只是为了解决Hash的寻址冲突
- 由于特殊的底层结构,它增删改查的效率都比较高
Demo
package com.tang.chapter6.map; import java.util.HashMap; import java.util.Map; /** * @author Tang */ public class Demo01 { public static void main(String[] args) { Map<String,String> map = new HashMap<String, String>(); map.put("1","zs"); map.put("2","ls"); map.put("3","ww"); map.put("4","ll"); System.out.println("Map集合" + map); System.out.println("是否包含键对象1:" + map.containsKey("1")); System.out.println("是否包含值对象zs:" + map.containsValue("zs")); System.out.println("获取所有的键对象:" + map.keySet()); System.out.println("获取所有的值对象:" + map.values()); System.out.println("获取键对象1的值:" + map.get("1")); map.replace("1","hello world"); System.out.println("修改键对象1的值:" + map.get("1") ); System.out.println(map); System.out.println("删除键对象1的值:" + map.remove("1")); System.out.println(map); } }
Map集合遍历
-
使用迭代器遍历
- KeySet()方法
public class Demo01 { public static void main(String[] args) { Map<String,String> map = new HashMap<String, String>(); map.put("1","zs"); map.put("2","ls"); map.put("3","ww"); map.put("4","ll"); System.out.println(map); Set<String> keySet = map.keySet(); Iterator<String> iterator = keySet.iterator(); while (iterator.hasNext()){ Object key = iterator.next(); Object value = map.get(key); System.out.println(key + ":" + value); } } }
- EntrySet()方法
public class Demo01 { public static void main(String[] args) { Map<String,String> map = new HashMap<String, String>(); map.put("1","zs"); map.put("2","ls"); map.put("3","ww"); map.put("4","ll"); System.out.println(map); Set<Map.Entry<String, String>> entrySet = map.entrySet(); Iterator<Map.Entry<String, String>> iterator = entrySet.iterator(); while (iterator.hasNext()){ Map.Entry entry = (Map.Entry)(iterator.next()); Object key = entry.getKey(); Object value = entry.getValue(); System.out.println(key+":"+value); } }
-
说明一点:EntrySet方法比KeySet方法要快一点
-
使用foreach方法遍历集合
public class Demo01 { public static void main(String[] args) { Map<String,String> map = new HashMap<String, String>(); map.put("1","zs"); map.put("2","ls"); map.put("3","ww"); map.put("4","ll"); System.out.println(map); map.forEach((key,value) -> System.out.println(key+ ":" +value)); // 遍历集合的Value值 Collection<String> values = map.values(); values.forEach(System.out::println); } }
这篇关于Java的Map的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27消息中间件底层原理资料详解
- 2024-11-27RocketMQ底层原理资料详解:新手入门教程
- 2024-11-27MQ底层原理资料详解:新手入门教程
- 2024-11-27MQ项目开发资料入门教程
- 2024-11-27RocketMQ源码资料详解:新手入门教程
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器