`
holdbelief
  • 浏览: 704890 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

遍历 Map 的 N 种方式

    博客分类:
  • Java
阅读更多

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

/**
 * 遍历 Map 的 N 种方式
 * @author Administrator
 *
 */
public class TestMap
{
 public static void main(String[] args)
 {
  Map m = new HashMap();
  m.put(1.34, "Double1");
  m.put("1", "Str1");
  m.put('2', "char1");
  
  
  // 1 Map.Entry 方式
  System.out.println("方式1");
  Iterator iter = m.entrySet().iterator();
  while(iter.hasNext())
  {
   Map.Entry entry = (Entry) iter.next();
   System.out.println(entry.getKey() + ":" + entry.getValue());
  }
  
  // 2
  System.out.println("方式2");
  Iterator keyIter = m.keySet().iterator();
  while(keyIter.hasNext())
  {
   Object key = keyIter.next();
   System.out.println(key + ":" + m.get(key));
  }
  
  // 3
  System.out.println("方式3");
  for(Object key : m.keySet())
  {
   System.out.println(key + ":" + m.get(key));
  }
  
  // 4
  System.out.println("方式4");
  for(Iterator keyIter4 = m.keySet().iterator(); keyIter4.hasNext();)
  {
   Object key = keyIter4.next();
   System.out.println(key + ":" + m.get(key));
  }
 }
}

分享到:
评论

相关推荐

    另一种遍历Map的方式

    Map是一种常用的数据结构,在Java中有多种遍历Map的方式。今天,我们来讨论一种遍历Map的方式,即使用Map.Entry和Map.entrySet()。 Map.Entry是什么? ---------------- Map.Entry是一个接口,表示一个映射项,...

    java集合遍历的几种方式总结及详细比较

    Java集合遍历的几种方式总结及详细比较 Java集合遍历是Java编程中最基本也是最重要的操作之一。集合遍历是指对集合中的每个元素进行访问和处理的过程。Java中提供了多种集合遍历方式,包括迭代器遍历、Map遍历、...

    C++11 unordered_map与map(插入,遍历,Find)效率对比。

    - `std::unordered_map`:遍历哈希表通常需要遍历所有桶,因此其时间复杂度也是O(n),但实际运行速度可能比`std::map`快,尤其是当元素数量很大时。 **查找操作**: - `std::map`:查找操作同样为O(log n),因为...

    HashMap遍历

    在Java编程中,`HashMap`是一种常用的数据结构,它实现了`Map`接口,提供了基于哈希表的存储方式,允许我们快速地查找、插入和删除键值对。对于`HashMap`的遍历,是进行数据处理和分析时不可或缺的操作。本文将深入...

    java中map的使用实例

    遍历Map有多种方式,一种是使用`entrySet()`,它可以返回Map中所有的键值对: ```java for (Map.Entry, Integer> entry : map.entrySet()) { System.out.println("Key: " + entry.getKey() + ", Value: " + entry....

    数据结构图的遍历及拓扑排序

    图的遍历#include #include #define max 100 //定义节点最大个数 int tag[100]; typedef char datatype; /*----------------定义边...printf(" \n非递归深度优先遍历结果为:"); fdgsmap(maps); printf("\n"); }

    原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作

    在JavaScript中,数组遍历是常见的操作,原生的`forEach()`和`map()`方法以及jQuery的`$.each()`和`$.map()`提供了不同的遍历方式。这些方法各有特点,适用于不同的场景。以下是对这些方法的详细介绍: 1. **原生JS...

    c++中map的基本用法和嵌套用法实例分析

    `map`的数据结构通常实现为红黑树,提供了O(log n)的时间复杂度进行插入、查找和删除操作。下面我们将详细探讨`map`的基本用法和嵌套用法。 ### 一、map基本用法 1. **头文件** 使用`<map>`头文件来包含`map`...

    Go语言字典(map)用法实例分析【创建,填充,遍历,查找,修改,删除】

    在Go语言中,字典(map)是一种非常重要的数据结构,用于存储键值对的无序集合。本文将深入探讨Go语言字典的创建、填充、遍历、查找、修改和删除等操作。 1. **字典的创建** - `make(map[KeyType]ValueType, ...

    Map容器的用法(STL).pdf

    遍历Map通常使用迭代器,如下所示: ```cpp for (map, string>::iterator iter = mapStudent.begin(); iter != mapStudent.end(); iter++) { cout << iter->first << "" << iter->second ; } ``` 这段代码会依次...

    标准模板库之map示例代码

    最后,我们使用范围for循环遍历map的所有元素,输出每个学生的姓名和分数。 map还提供了其他高级功能,如查找元素: ```cpp if (student_scores.find("Dave") != student_scores.end()) { std::cout ["Dave"] ; }...

    vue使用map代替Aarry数组循环遍历的方法

    这比起传统数组的遍历查找(在最坏的情况下时间复杂度为O(n)),Map对象在性能上有着明显的优势。 另外,值得一提的是,在Vue.js中,我们经常需要响应式地处理数据。Vue提供了一种响应式系统来追踪依赖并自动更新...

    MAP的讲解利用

    map提供了两种插入元素的方式: - 通过`[]`操作符:`enumMap[2] = "Two";`,但这种方法若key不存在,会先创建一个默认元素再赋值,可能带来额外开销。 - 使用`insert()`函数:`enumMap.insert(map, CString> :: ...

    map和set的异同

    红黑树是一种自平衡二叉查找树,能够保证树的高度大致保持为log(n),从而使得插入、删除和查找操作的时间复杂度都为O(log n)。 2. **有序性**:`map`和`set`都保证了元素的有序性,默认情况下按照升序排序。 3. **...

    vectormap 支持map的顺序查找

    使用"vectormap"时,开发者可以期望在顺序遍历和查找操作上获得性能提升,同时保留了类似数组的访问方式。然而,这种自定义容器可能会有更高的内存开销,因为它需要额外的存储空间来维护索引。 为了更好地理解并...

    JS常用的几种数组遍历方式以及性能分析对比实例详解

    本文主要分析了JS中常用的7种数组遍历方式,并进行了性能对比。以下是这些遍历方式的详细说明: 1. **普通for循环**: ```javascript for (j = 0; j ; j++) {} ``` 这是最基础且广泛使用的遍历方式,性能较好,...

    浅谈c++ vector和map的遍历和删除对象

    #include <map> #include using namespace std; int main(int argc, char* argv[]) { printf(Hello World!\n); vector<int> a; //创建一个对象 a.push_back(1); a.push_back(2); a.push_back(3); v

    map_map_增删查改_STL_C++_

    `map`容器是一种关联容器,它将唯一的键值与关联的值进行存储,这里的键值通常是用来查找对应值的。`map`内部实现为红黑树,这保证了插入、删除和查找操作的时间复杂度为O(log n)。在C++中,`map`的定义位于`<map>`...

    map集合以及IO流

    遍历`Map`集合主要有三种方式: 1. **迭代器(Iterator)**:通过`Map`的`entrySet()`方法获取键值对的`Set`视图,然后使用迭代器遍历。 2. **foreach循环**:利用Java的增强for循环,同样通过`entrySet()`来遍历。 3....

    利用js实现Map

    #### - 遍历Map 可以通过`for...of`循环或`forEach`方法遍历`Map`。 ```javascript for (let [key, value] of map) { console.log(key, value); } // 或者 map.forEach((value, key) => { console.log(key, ...

Global site tag (gtag.js) - Google Analytics