`
小杨学JAVA
  • 浏览: 900701 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Map的三种遍历方法!!

 
阅读更多

转载自:http://www.cnblogs.com/christ/archive/2010/10/30/1865134.html

 

map的三种遍历方法!

  集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package cn.tsp2c.liubao;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

/**
*
* @author Administrator
*/
public class TestMap {

public static void main(String[] args) {
Map<String, Student> map = new HashMap<String, Student>();
Student s1 = new Student("宋江", "1001", 38);
Student s2 = new Student("卢俊义", "1002", 35);
Student s3 = new Student("吴用", "1003", 34);

map.put("1001", s1);
map.put("1002", s2);
map.put("1003", s3);

Map<String, Student> subMap = new HashMap<String, Student>();
subMap.put("1008", new Student("tom", "1008", 12));
subMap.put("1009", new Student("jerry", "1009", 10));
map.putAll(subMap);

work(map);
workByKeySet(map);
workByEntry(map);
}

  //最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的,就不多说了!!

public static void work(Map<String, Student> map) {
Collection<Student> c = map.values();
Iterator it = c.iterator();
for (; it.hasNext();) {
System.out.println(it.next());
}
}

  //利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values,更具灵活性!!

public static void workByKeySet(Map<String, Student> map) {
Set<String> key = map.keySet();
for (Iterator it = key.iterator(); it.hasNext();) {
String s = (String) it.next();
System.out.println(map.get(s));
}
}

  //比较复杂的一种遍历在这里,呵呵~~他很暴力哦,它的灵活性太强了,想得到什么就能得到什么~~

public static void workByEntry(Map<String, Student> map) {
Set<Map.Entry<String, Student>> set = map.entrySet();
for (Iterator<Map.Entry<String, Student>> it = set.iterator(); it.hasNext();) {
Map.Entry<String, Student> entry = (Map.Entry<String, Student>) it.next();
System.out.println(entry.getKey() + "--->" + entry.getValue());
}
}
}

class Student {

private String name;
private String id;
private int age;

public Student(String name, String id, int age) {
this.name = name;
this.id = id;
this.age = age;
}

@Override
public String toString() {
return "Student{" + "name=" + name + "id=" + id + "age=" + age + '}';
}
}

分享到:
评论

相关推荐

    java集合MAP三种遍历

    本文将详细介绍Java中Map集合的三种遍历方法及其应用场景、优缺点等,帮助读者更好地理解和掌握Map的使用技巧。 ### 一、Map简介 `Map`接口是Java集合框架的一部分,它提供了基于键值对的数据存储方式。常见的实现...

    java中Map的两种遍历方法

    本文将详细探讨在Java中遍历`Map`的两种常用方法:通过`keySet()`方法和通过`entrySet()`方法。 ### 一、通过`keySet()`方法遍历`Map` #### 方法概述 `keySet()`方法返回一个包含`Map`中所有键的`Set`视图。通过...

    Map最常规的两种遍历方法

    本文介绍了Map集合的两种常用的遍历方法:使用values()方法和Iterator迭代器,使用entrySet()方法和Iterator迭代器。两种方法都可以用于遍历Map集合,但是它们之间有一些区别。在实际开发中,我们可以根据实际情况...

    map遍历的三种方法

    Map 遍历是集合操作中的一种重要操作,一般来说,有三种方式来遍历 Map 集合:使用 values() 方法遍历、使用 keySet() 方法遍历和使用 entrySet() 方法遍历。 第一种方法:使用 values() 方法遍历 这个方法是最...

    map的遍历方法 有几种? 帮你选择最好的遍历方式

    你知道map的遍历方法有几种吗? 那这几种的区别是什么呢? 那种更简单、高效呢? 我的资源文件将告诉你。

    map遍历的四种方法

    ### Map遍历的四种方法 在Java编程语言中,`Map`是一种常用的数据结构,用于存储键值对。为了能够有效地处理和操作这些键值对数据,熟练掌握遍历`Map`的方法至关重要。本文将详细介绍四种不同的遍历`Map`的方式,并...

    Java.Map的三种遍历方法.docx

    本文将详细介绍Java中`Map`的三种遍历方法,并探讨它们的优缺点。 1. **通过values()方法遍历** 这是最常见也是最直观的遍历方式。我们首先调用`map.values()`获取到所有值的`Collection`,然后通过迭代器遍历这个...

    遍历MAP的几种方法

    遍历MAP的几种方法,利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values,更具灵活性

    java Map 遍历方法

    ### Java Map遍历方法详解 在Java编程语言中,`Map`接口是集合框架中的一个核心组成部分,它存储键值对映射。本篇文章将详细介绍几种常用的遍历`Map`的方法,包括使用传统迭代器(Iterator)、增强型for循环(For-...

    map集合遍历的五种方法

    总结起来,Java中Map集合的遍历方法各有优缺点,选择哪种方式取决于具体需求,如是否需要键和值,是否关心遍历顺序,以及是否利用Java 8的Stream API进行更复杂的操作。在实际开发中,理解和熟练掌握这些遍历方式将...

    js中使用map形式存取遍历

    js中使用map形式存取遍历

    另一种遍历Map的方式

    今天,我们来讨论一种遍历Map的方式,即使用Map.Entry和Map.entrySet()。 Map.Entry是什么? ---------------- Map.Entry是一个接口,表示一个映射项,里面有Key和Value。它有两个方法:getKey()和getValue(),...

    Map的四种遍历方法

    该资源摘自: http://www.cnblogs.com/kristain/articles/2033566.html

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

    在C++编程中,`std::map`和`std::unordered_map`是两种常见的关联容器,它们都用于存储键值对,但实现机制和性能特点有所不同。本篇文章将深入探讨这两种容器在插入、遍历和查找操作上的差异,并通过实例分析它们...

    JAVA_MAP_+_LIST_SET和MAP的区别+_Map的三种遍历方法

    在 Java 集合框架中,`Map`、`List` 和 `Set` 是三种非常重要的数据结构,它们各自有着不同的特性和用途。 - **Map**:主要用于存储键值对(key-value pairs)。键必须是唯一的,而值可以重复。`Map` 不继承自 `...

    Map遍历方法总结

    ### Map遍历方法总结 #### 一、引言 在Java编程中,`Map`是一种常用的集合类型,用于存储键值对数据。由于其高效的数据查找特性,在许多场景下都有广泛的应用。对于开发者来说,了解如何有效地遍历`Map`中的元素是...

    Freemarker 遍历Map数据

    数据模型: @RequestMapping(/freemarker) @Controller public class FreemarkerController { //测试1 ... model.addAttribute(name,三年二班); Student stu1 = new Student(); stu1.setName(小明); st

    Map集合的四种遍历方式 .txt

    一般来说,第三种方法(通过增强型`for`循环遍历`Map.entrySet()`)是最为简洁和高效的,因为它能够直接访问键值对,避免了额外的`get`操作。而在只需要遍历值的情况下,则可以考虑第四种方法。掌握这些遍历技巧对于...

    Map的遍历三种遍历方式 键找值 键值对 lambda表达式

    Map的三种遍历方式和代码展示,并且每种方式中含有多种实现途径 适合初学者参考

    map遍历的四种方式及性能比较

    本文将详细介绍四种常见的遍历`Map`的方法,并对比它们的性能差异。 #### 方法一:遍历Entry Set 这是最常见的遍历方式,在大多数情况下也是最推荐使用的。当需要同时访问键和值时,可以通过遍历`Map`的`entrySet...

Global site tag (gtag.js) - Google Analytics