`
tmuffamd
  • 浏览: 28546 次
  • 性别: Icon_minigender_2
  • 来自: 重庆
社区版块
存档分类
最新评论

Map.Entry 和 Map.entrySet() ,用类遍历hashMap,hashTable

 
阅读更多

偶然今天发现HashMap 用到下面的格式 ,直接循环遍历整个hashMap  hashTable

返回的 set 中的每个元素都是一个 Map.Entry 类型。

private Hashtable<String, String> emails = new Hashtable<String, String>();

//      方法一: 用entrySet()
//  Iterator it = emails.entrySet().iterator();
//  while(it.hasNext()){
//   Map.Entry m=(Map.Entry)it.next();
//   logger.info("email-" + m.getKey() + ":" + m.getValue());
//  }
  
  // 方法二:直接再循环中
  for (Map.Entry<String, String> m : emails.entrySet()) {
   
   logger.info("email-" + m.getKey() + ":" + m.getValue());
  }
  
  // 方法三:用keySet()
  Iterator it = emails.keySet().iterator();
  while (it.hasNext()){
   String key;
   key=(String)it.next();
   logger.info("email-" + key + ":" + emails.get(key));
  }

 // 方法五:还是用keySEt()        (04.29添加)

for(Object m: emails.keySet()){
   logger.info("email-" + m+ ":" + emails.get(m));
  }

另外 我们可以先把hashMap 转为集合Collection,再迭代输出,不过得到的对象

  Map   aa   =   new   HashMap();   
  aa.put("tmp1",   new   Object());     //追加     替换用同样的函数.   
  aa.remove("temp1");                       //删除   
  for   (Iterator   i   =   aa.values().iterator();   i.hasNext();   )   {   
          Object   temp   =   i.next();   
  }         //遍历   

 

来个完整的,包含TreeSet的元素内部排序的

public static void main(String[] args) {
  ArrayList<String> list = new ArrayList<String>();
  HashMap<Object,Object> hash = new HashMap<Object,Object>();
  TreeMap<Object,Object> treeMap = new TreeMap<Object,Object>();
  list.add("a");
  list.add("b");
  list.add("c");
  
  hash.put(3, 3);
  hash.put(4, 4);
  hash.put(5, 5);
  hash.put(6, 6);
  hash.put(1, 1);
  hash.put(2, 2);
  
  treeMap.put(1, 1);
  treeMap.put(2, 2);
  treeMap.put(3, 3);
  treeMap.put(4, 4);
  treeMap.put(5, 5);
  treeMap.put(6, 6);
  
  //list遍历
  for(String m: list){
   System.out.println(m);
  }
  // hashmap entrySet() 遍历
  for(Map.Entry<Object,Object> m: hash.entrySet()){
   System.out.println(m.getKey()+"---"+m.getValue());
  }
  //hashmap keySet() 遍历
  for(Object m: hash.keySet()){
   System.out.println(m+"---"+hash.get(m));
  }
  // treemap keySet()遍历
  for(Object m: treeMap.keySet()){
   System.out.println(m+"---"+treeMap.get(m));
  }
 }

分享到:
评论

相关推荐

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

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

    java Map 遍历方法

    2. **遍历HashMap** 使用`entrySet()`或`keySet()`的方式同样适用于遍历`HashMap`。 ```java HashMap, Object&gt; hash = new HashMap(); hash.put(3, 3); hash.put(4, 4); hash.put(5, 5); hash.put(6, 6); ...

    Java 实例 - 遍历 HashTable 的键值源代码+详细教程.zip

    在Java编程语言中,`HashTable`是一...通过提供的源代码和详细教程,你可以深入理解`HashTable`的工作原理以及如何在实际项目中有效地遍历和使用它。同时,这也会帮助你更好地掌握Java容器类的使用,提升你的编程技能。

    遍历Map集合.pdf

    Map接口的实现类包括HashMap, TreeMap, Hashtable等。由于Map是接口,所以无法直接创建实例,通常使用其具体实现类,如HashMap。 在遍历Map时,我们通常有三种方式: 1. 使用keySet方法获取所有键,然后遍历这些键...

    Map集合的遍历.md

    Java中的`Map`接口主要有三种实现类:`HashMap`、`Hashtable`、`TreeMap`等,这些实现类在实际应用中各有特点。本篇文章将详细介绍如何遍历`Map`集合,并提供两种不同的遍历方法。 #### 二、Map集合遍历方法 #####...

    java中map集合的用法.pdf

    在Java编程语言中,Map接口是集合框架的重要组成部分,它提供了键值...在实际应用中,选择合适的Map实现类和理解如何遍历Map元素,可以帮助优化程序性能和逻辑。此外,Map还可以用于实现缓存、存储配置信息等多种用途。

    Hashtable的使用

    由于`Hashtable`实现了`Map`接口,我们可以使用迭代器或者增强的`for`循环遍历它的键值对: #### 使用迭代器 ```java Iterator&lt;Map.Entry, Integer&gt;&gt; iterator = table.entrySet().iterator(); while (iterator....

    java map实例,排序

    例如,可以使用`map.entrySet().stream().sorted(Map.Entry.comparingByKey()).collect(Collectors.toList())`来根据键进行排序,或者使用`map.entrySet().stream().sorted(Map.Entry.comparingByValue()).collect...

    map集合的特点以及遍历方式,泛型,工具类的介绍

    5. **多种实现**:Java提供多种Map的实现,包括HashMap、TreeMap、LinkedHashMap、Hashtable等,每种实现都有其特定的性能和使用场景。 **二、Map集合的遍历方式** 1. **键集遍历**:通过`keySet()`方法获取所有键...

    hashmap 实例

    Iterator&lt;Map.Entry, String&gt;&gt; it = hashmap.entrySet().iterator(); while (it.hasNext()) { Map.Entry, String&gt; entry = it.next(); System.out.println(entry.getValue()); } ``` 现在,我们来对比其他几种...

    Java Map 集合类简介

    在Java的`java.util`包中,集合类扮演着重要的角色,其中List和Map是最为常见的两种。List的实现例如ArrayList和Vector,它们都是可变大小的列表,适合存储和操作各种类型对象的序列。特别是ArrayList,基于动态数组...

    Java Map 按照Value排序的实现方法

    在Java编程中,Map接口是用于存储键值对的数据结构,常见的实现类包括HashMap、TreeMap、Hashtable和LinkedHashMap等。这些实现类各有特点,但默认并不保证元素的顺序。当我们需要按照Value(值)对Map进行排序时,...

    list map相关用法实例-流氓版

    例如,遍历`List`时,可以写成`for (Type element : list) {...}`,遍历`Map`时,可以写成`for (Map.Entry, Value&gt; entry : map.entrySet()) {...}`。 3. **List的get()方法**:对于`List`,可以使用索引来遍历,如...

    Android 对Map按key和value分别排序的实例

    Map接口提供了多种实现类,如HashMap、TreeMap、Hashtable和LinkedHashMap等。当需要对Map中的数据进行排序时,通常有两种情况:按key排序和按value排序。本文将详细介绍如何在Android环境下对Map进行这两种排序。 ...

    【IT十八掌徐培成】Java基础第11天-01.Map集合.zip

    Map接口的主要实现类有HashMap、TreeMap、LinkedHashMap、Hashtable等,它们各自有不同的特性和使用场景。 1. HashMap:HashMap是最常用的Map实现,它允许null键和null值。基于哈希表实现,因此具有快速的插入、...

    Java容器简要介绍

    6. Map接口中的entrySet()返回的集合支持通过迭代器进行遍历,遍历每个Map.Entry对象,可以访问键和值。例如: ```java for (Map.Entry, ValueType&gt; entry : map.entrySet()) { KeyType key = entry.getKey(); ...

    【IT十八掌徐培成】Java基础第11天-04.Map集合-集合整理.zip

    - 遍历Map:可以通过`keySet()`获取所有的键,然后通过键获取对应的值进行遍历,或者使用`entrySet()`获取键值对的Set,直接遍历键值对。 - `Map.Entry`: 表示Map中的一个键值对,提供了`getKey()`和`getValue()`...

    java开发常见问题1

    遍历`HashMap`,可以使用`entrySet().iterator()`,如下所示: ```java HashMap, String&gt; map = new HashMap(); map.put("a", "123"); map.put("b", "456"); map.put("c", "178"); Iterator&lt;Map.Entry, String&gt;&gt; ...

    Java中Map的排序问题详解

    在Java编程语言中,Map接口提供了多种实现,每种实现有着不同的特性和使用场景,其中涉及到排序的问题主要涉及HashMap、Hashtable、LinkedHashMap和TreeMap。本文将深入探讨如何在Java中对Map进行按键排序和按值排序...

    Java基础入门_课后题答案_仅供参考.pdf

    2. 集合框架:Java集合框架包括接口和实现类,如List(ArrayList、LinkedList)、Set(HashSet、TreeSet)和Map(HashMap、LinkedHashMap、TreeMap)。ArrayList特点是动态扩容,基于数组实现,访问快但插入删除慢;...

Global site tag (gtag.js) - Google Analytics