`

HashMap 键值的循环或者迭代

 
阅读更多
写道
HashMap map = new HashMap();
map.put("1", "Tom");
map.put("2", "Jim");
map.put("3", "Jane");
map.put("4", "Kevin");
map.put("6", "Bit");
map.put("2", "Gavin");

Set set =map.keySet();

//以数组的形式循环,特点是size瞬间确定
Object[] o =set.toArray();
for(int i=0;i<set.size();i++){
System.out.println("Loop One:"+o[i]);
}
//以链表的形式迭代,特点是size不固定
Iterator it= set.iterator() ;
while(it.hasNext()){
System.out.println("Loop Two:"+it.next()); ;
}

 
分享到:
评论

相关推荐

    HashMap资料.zip

    6. **迭代器**:HashMap提供了键值对的迭代器,但迭代过程中若进行添加、删除或修改操作,可能会抛出`ConcurrentModificationException`。推荐使用`Iterator`的`remove()`方法来安全地删除元素。 7. **HashMap与...

    马士兵老师HashMap学习笔记

    HashMap是Java编程语言中常用的一种数据结构,它提供了键值对(key-value pair)的存储功能,是基于哈希表实现的。马士兵老师的HashMap学习笔记深入剖析了这一核心组件的工作原理,旨在帮助开发者更深入地理解其内部...

    高级程序员必会的HashMap的线程安全问题,适用于0~2年的.7z

    3. **死循环(死锁)**:在极端情况下,由于HashMap的迭代器依赖于table的状态,如果在迭代过程中table结构发生变化(比如resize),可能会造成迭代器陷入死循环。 为了解决这些问题,有以下几种策略: 1. **使用...

    delphi hashmap集合

    - **迭代遍历:** 可以通过`.GetEnumerator`获取迭代器,然后循环遍历,例如: ``` for Item in HashMap do Writeln('Key: ' + Item.Key + ', Value: ' + Item.Value.ToString); ``` 3. **哈希函数和负载因子...

    关于如何解决HashMap线程安全问题的介绍

    在Java编程中,HashMap是一个非常常用的集合类,用于存储键值对数据。然而,它存在一个重要的特性,那就是线程不安全。理解这个问题并找到解决方案是每个Java开发者必须掌握的知识。 HashMap线程不安全的原因主要...

    前端开源库-hashmap

    3. **遍历机制**:支持迭代器(iterator)进行键值对的遍历,符合ES6的迭代协议,方便在for...of循环中使用。 4. **容量与负载因子**:库可能包含了调整容量和负载因子的选项,以平衡空间效率和查找速度。负载因子...

    hashmap_demo.rar_DEMO_STL hashmap_hashmap

    4. 遍历:`std::unordered_map`提供了迭代器进行遍历,可以使用`for`循环或范围基础循环遍历所有键值对。 在实际使用中,我们需要考虑的因素包括: - 哈希函数的选择和优化,以降低哈希冲突的概率。 - 键的类型应...

    Java HashMap三种循环遍历方式及其性能对比实例分析

    HashMap提供了三种循环遍历方式,即for each map.entrySet()、显示调用map.entrySet()的集合迭代器、for each map.keySet()。每种遍历方式都有其特点和优缺势,本文将通过实例分析和性能测试来比较这三种遍历方式的...

    【IT十八掌徐培成】Java基础第13天-01.Map的迭代方式.zip

    Map接口不继承Collection接口,因此,不能直接使用for-each循环进行迭代。但是,Map提供了两个主要的迭代途径:通过Map的entrySet()、keySet()或values()方法获取迭代器,然后遍历键值对、键或值。 1. **entrySet()...

    深入解读大厂java面试必考点之HashMap全套学习资料

    5. **迭代器遍历**:HashMap的迭代器是fail-fast类型的,即当在遍历过程中修改了HashMap,迭代器会抛出`ConcurrentModificationException`异常。若要在遍历期间修改HashMap,应使用`Iterator`的`remove()`方法。 6....

    Hashmap实现了Map接口的底层实现.docx

    HashMap是Java编程语言中一种非常重要的数据结构,它实现了Map接口,允许存储键值对,且支持null键和null值。HashMap的底层实现基于数组和链表,这使得它具有较快的查找速度。以下是关于HashMap的详细说明: 一、...

    Java 实例 - HashMap遍历源代码-详细教程.zip

    - **foreach循环**:Java 5引入了增强的for循环(也称为foreach),可以直接遍历Map的键值对,例如:`for (Map.Entry, Value&gt; entry : map.entrySet()) {...}` 4. **源代码解析**: - `put`操作:当插入新的键值...

    java基础 集合-22-迭代器设计模式

    或者使用`entrySet()`方法获取Entry迭代器,每个Entry包含键值对。 6. **并发迭代** 在多线程环境中,如果不正确地使用迭代器,可能会出现并发修改异常(`ConcurrentModificationException`)。为了解决这个问题,...

    FLEX HashMap遍历并取到需要的值

    在Java中,HashMap的遍历可以通过多种方式实现,比如使用Iterator迭代器、foreach循环等。 而提供的部分内容则是两段重复的代码示例,其核心内容如下: ```java var iterator: Iterator = actImage.toLineMap....

    暑假培训学习笔记之java循环遍历集合

    可以使用`entrySet()`方法获取所有键值对的迭代器: ```java HashMap, Integer&gt; map = new HashMap, Integer&gt;(); // 添加键值对... for (Map.Entry, Integer&gt; entry : map.entrySet()) { String key = entry.get...

    各容器与迭代器的用法.docx

    - 遍历这些容器时,可以使用for循环结合size()和get(),或者使用迭代器。 在实际应用中,选择合适的容器和迭代器方式取决于需求,如线程安全性、性能、数据操作的频率等因素。了解这些基本概念和用法对于编写高效...

    各容器与迭代器的用法.pdf

    在使用这些容器时,我们可以使用迭代器或者传统的for循环进行遍历。例如,ArrayList、Vector、Hashtable和HashMap都可以通过Iterator进行迭代,也可以使用for-each循环,通过`size()`和`get()`方法访问元素。同时,...

    java7-8中的 HashMap和ConcurrentHashMap全解析

    `HashMap`是非线程安全的,意味着在多线程环境下,多个线程同时操作`HashMap`可能会导致数据不一致或者死循环。因此,如果需要在并发环境中使用,必须使用同步机制,如`synchronized`关键字或`Collections....

    基于HashMap遍历和使用方法(详解)

    这是一种使用增强for循环遍历键值对的方法。 ```java for (Map.Entry, String&gt; entry : map.entrySet()) { System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } ``` 4. 通过Map....

    各容器与迭代器的用法 (2).docx

    `Map`接口则定义了键值对的映射关系,其中`Hashtable`和`HashMap`是它的实现类。`Hashtable`是同步的,而`HashMap`不是,因此在多线程环境下,`Hashtable`更安全。它们都可以通过`keySet()`获取键的集合,然后用迭代...

Global site tag (gtag.js) - Google Analytics