java中关于Map的三种遍历方法详解

2016-02-19 09:21 7 1 收藏

下面是个简单易学的java中关于Map的三种遍历方法详解教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - 编程语言 】

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) {
        MapString, Student map = new HashMapString, 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);
        MapString, Student subMap = new HashMapString, 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(MapString, Student map) {
        CollectionStudent c = map.values();
        Iterator it = c.iterator();
        for (; it.hasNext();) {
            System.out.println(it.next());
        }
    }
//利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values,更具灵活性!!
    public static void workByKeySet(MapString, Student map) {
        SetString 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(MapString, Student map) {
        SetMap.EntryString, Student set = map.entrySet();
        for (IteratorMap.EntryString, Student it = set.iterator(); it.hasNext();) {
            Map.EntryString, Student entry = (Map.EntryString, 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 + '}';
    }
}

来源:https://www.tulaoshi.com/n/20160219/1590485.html

延伸阅读
首先来看看以下程序将会打印出什么: 代码如下: class Dog {     public static void bark() {         System.out.print("woof ");     } } class Basenji extends Dog {     public static void bark() { } } public class Bark {     ...
标签: Java JAVA基础
简单介绍一下Java关于xml的API,这样大家看到了缩写就知道是干什么的了。水平有限,多多包涵。 1、JAXP(Java API for XML Parsing) 2、JAXB(Java API for XML Binding) 3、JAXM(Java API for XML Messaging) 4、JAX-RPC(Java API for XML-RPC) 1、JAXP定义了在Java中使用DOM, SAX, XSLT的...
盘点生活中的三种防癌食物 随着生活节奏加快,吃的好了,不一定是好事,往往都从吃上惹的祸事,那就是癌,逐年递增,那在日常生活中如何预防癌症呢?吃什么食物有抗癌功效呢? 一、竹笋 竹笋是一种我们都不会陌生的食物,因其鲜嫩的口感,一直是餐桌上经常会见到的食物,但是图老师小编今天要和你们聊的话题不是它的口感...
String中三种加法的区别 JAVA的确是一种令程序员陷入两难境地的言语, 确切的说是思想. 它提供了如此丰富的library,让程序员能够很容易的写出功能强大的程序. 同时它也封装了如此多的细节, 让程序员能够轻易的写出很拙略的程序. 它所代表的object指向思想设计之初是为了把程序员从纷繁复杂的编程细节中解放出来,来达到对已有程序的利用...
标签: ASP
  众所周知,FileSystemObject组件的强大功能及破坏性是它屡屡被免费主页 提供商(那些支持ASP)的禁用的原因,我整理了一下,本来只找到两种方法,后来 被某人一刺激,硬是想到第三种不为人所知的方法,呵呵,也不知道是不是这样的。 第一种:用RegSrv32 /u C:\WINDOWS\SYSTEM\scrrun.dll(win98路径)来注销该组 件。此方法过于狠毒,...

经验教程

570

收藏

64
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部