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

然然HYF

然然HYF

2016-02-19 09:21

下面是个简单易学的java中关于Map的三种遍历方法详解教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!
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 + '}';
    }
}
展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
java中关于Map的三种遍历方法详解

Java中Decorate的三种实现方法

编程语言 网络编程
Java中Decorate的三种实现方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

三种实现方法实现数据表中遍历寻找子节点

编程语言 网络编程
三种实现方法实现数据表中遍历寻找子节点

java中关于内部类的使用详解

编程语言 网络编程
java中关于内部类的使用详解

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

关于三种美白嫩肤方法的比较

皮肤护理
关于三种美白嫩肤方法的比较

java向多线程中传递参数的三种方法详细介绍

编程语言 网络编程
java向多线程中传递参数的三种方法详细介绍

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

提高MySQL中数据装载效率

提高MySQL中数据装载效率

浅谈Java中父类与子类的加载顺序详解

浅谈Java中父类与子类的加载顺序详解
下拉加载更多内容 ↓