热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HashMap和Hashtable的遍历

HashMap和Hashtable的遍历HashMapHashtablekeySet()keySet()entrySet()entrySet()value(

HashMap和Hashtable的遍历

HashMap Hashtable
keySet() keySet()
entrySet() entrySet()
value() elements()
iterator iterator



此外,Hashtable还可以使用keys() 和Enumeration进行遍历,闲言少叙,直接上代码

import java.util.Enumeration;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;

public class Test {

public static void main(String[] args) {

int[] arr = {0,1,2,3,4,5,6,7,8,9};
HashMap map = new HashMap<>();
Hashtable table = new Hashtable<>();

// 添加元素
for(int i = 0; i <10; i++) {
map.put(arr[i], arr[i]);
table.put(arr[i], arr[i]);
}

// -----------------HashMap遍历------------------------
System.out.println("-----------------HashMap遍历------------------------");

// 1.使用keySet()
System.out.println("1.使用keySet()");
for(Integer key : map.keySet()) {
System.out.println(key + " : " + map.get(key));
}

// 2.使用entrySet()
System.out.println("2.使用entrySet()");
for(Map.Entry entry : map.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}

// 3.使用value(),但不能得到key
System.out.println("3.使用value(),但不能得到key");
for(Integer i : map.values()) {
System.out.println(i);
}

// 4.使用Iterator
System.out.println("4.使用Iterator");
Iterator> it = map.entrySet().iterator();
while(it.hasNext()) {
Map.Entry entry = it.next();
System.out.println(entry.getKey() + " : " + entry.getValue());
}


// -----------------Hashtable遍历------------------------
System.out.println("-----------------Hashtable遍历------------------------");

// 1.使用keySet()
System.out.println("1.使用keySet()");
for(Integer key : table.keySet()) {
System.out.println(key + " : " + table.get(key));
}


// 2.使用keys() + Enumeration
System.out.println("2.使用keys()");
Enumeration en1 = table.keys();
while(en1.hasMoreElements()) {
int key = en1.nextElement();
System.out.println(key + " : " + table.get(key));
}

// 3.使用entrySet() + iterator
System.out.println("3.使用entrySet()");
Iterator> it1 = table.entrySet().iterator();
while(it1.hasNext()) {
Map.Entry entry = it1.next();
System.out.println(entry.getKey() + " : " + entry.getValue());
}

// 4.使用elements()
System.out.println("4.使用elements(),相当于遍历value");
Enumeration en2 = table.elements();
while(en2.hasMoreElements()) {
System.out.println(en2.nextElement());
}


}
}

注:HashMap和Hashtable的存储和遍历都是无序的

这里写图片描述


推荐阅读
  • 缓存这个东西就是为了提高运行速度的,由于缓存是在寸土寸金的内存里面,不是在硬盘里面,所以容量是很有限的。LRU这个算法就是把最近一次使用时间离现在时间最远的数据删除掉。先说说List:每 ... [详细]
  • 本篇文章给大家分享的是有关Java中怎么对HashMap按键值排序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话 ... [详细]
  • 将学生对象和学生的归属地通过键与值存储到map集合中。importjava.util.HashMap;importjava.util.Iterator;importjava.uti ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • 本文详细介绍了 Java 中遍历 Map 对象的几种常见方法及其应用场景。首先,通过 `entrySet` 方法结合增强型 for 循环进行遍历是最常用的方式,适用于需要同时访问键和值的场景。此外,还探讨了使用 `keySet` 和 `values` 方法分别遍历键和值的技巧,以及使用迭代器(Iterator)进行更灵活的遍历操作。每种方法都附有示例代码和具体的应用实例,帮助开发者更好地理解和选择合适的遍历策略。 ... [详细]
  • 我有3个来自RESEARCHS的映射值,指定要使用参考数据集填充的行中的范围。该研究 ... [详细]
  • 普通树(每个节点可以有任意数量的子节点)级序遍历 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • HashTable与ConcurrentHashMap均可实现HashMap的功能,对外提供了键值对存储的数据结构。但是在内部结构及实现上有何区别,性能上的差异到底在哪里又是如何导致的 ... [详细]
  • 转载自:http:www.blogjava.netCarpenterLeearchive20160427430268.html总体介绍之所以把HashSet和HashMa ... [详细]
  • 类Hashtable<K,V>所有已实现的接口:Serializable,Cloneable,Map<K,V>此类实现一个哈希表,该哈希表将键映 ... [详细]
  • 单线程化的ConcurrentHashMap的性能要比同步的HashMap的性能稍好一些,而且在并发应用中,这种作用就十分明显了。ConcurrentHashMap的实现,假定大多数常用的操 ... [详细]
  • Java集合详解5:深入理解LinkedHashMap和LRU缓存
    Java集合详解5:深入理解LinkedHashMap和LRU缓存今天我们来深入探索一下LinkedHashMap的底层原理,并且使用linkedhashmap来实现LRU缓存。具体代码在我的 ... [详细]
author-avatar
胡萝卜咯198408
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有