HashMap概述及其三种遍历方式(简单明了)

您所在的位置:网站首页 简述动机冲突有哪三种 HashMap概述及其三种遍历方式(简单明了)

HashMap概述及其三种遍历方式(简单明了)

2024-07-17 09:41| 来源: 网络整理| 查看: 265

一、HashMap概述; HashMap是一个散列表,它存储的是键值对(key-value)映射;HashMap继承AbstractMap,实现了Map,Cloneable,Serializable接口;HashMap的实现不是同步的,线程不安全,但是效率高;HashMap允许null键和null值,是基于哈希表的Map接口实现;哈希表的作用是用来保证键的唯一性;HashMap的实例有两个参数影响其性能:初试容量和加载因子,当哈希表中的条目数超出加载因子与当前容量的乘积时,要对哈希表进行rehash操作(即重建内部数据结构),容量扩大约为之前的两倍,加载因子默认值为0.75; 二、HashMap的三种遍历方式;

第一种:遍历HashMap的entrySet键值对集合

1.通过HashMap.entrySet()得到键值对集合;

2.通过迭代器Iterator遍历键值对集合得到key值和value值;

package com.xyfer; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class HashMapTest { public static void main(String[] args) { // 创建一个key和value均为String的Map集合 Map map = new HashMap(); map.put("1", "11"); map.put("2", "22"); map.put("3", "33"); // 键和值 String key = null; String value = null; // 获取键值对的迭代器 Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); key = (String) entry.getKey(); value = (String) entry.getValue(); System.out.println("key:" + key + "---" + "value:" + value); } } }

控制台打印结果: 在这里插入图片描述 第二种:遍历HashMap键的Set集合获取值;

1.通过HashMap.keySet()获得键的Set集合;

2.遍历键的Set集合获取值;

package com.xyfer; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class HashMapTest { public static void main(String[] args) { // 创建一个key和value均为String的Map集合 Map map = new HashMap(); map.put("1", "11"); map.put("2", "22"); map.put("3", "33"); // 键和值 String key = null; String value = null; // 获取键集合的迭代器 Iterator it = map.keySet().iterator(); while (it.hasNext()) { key = (String) it.next(); value = (String) map.get(key); System.out.println("key:" + key + "---" + "value:" + value); } } }

控制台打印结果: 在这里插入图片描述 第三种:遍历HashMap“值”的集合;

1.通过HashMap.values()得到“值”的集合

2.遍历“值”的集合;

package com.xyfer; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class HashMapTest { public static void main(String[] args) { // 创建一个key和value均为String的Map集合 Map map = new HashMap(); map.put("1", "11"); map.put("2", "22"); map.put("3", "33"); // 值 String value = null; // 获取值集合的迭代器 Iterator it = map.values().iterator(); while (it.hasNext()) { value = (String) it.next(); System.out.println("value:" + value); } } }

控制台打印结果: 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3