java map string stu_Java Map遍历的三种方式 | 学步园

最近经常碰到Map遍历的问题,在网上查找资料后,记录下,权当备忘~~~~~~

这里给出了三种遍历的方式,注释中已说明各自方式的优点。

package edu.hrbeu.cloud.testIterMap;

import java.util.Collection;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

import java.util.TreeMap;

public class IteratorMap {

static Map map = new TreeMap();

public static void addToMap(String classify, String name, String age, String score) {

if(!map.containsKey(classify))

map.put(classify, new Student());

Student st = new Student();

st = map.get(classify);

st.setName(name);

st.setAge(age);

st.setScore(score);

}

public static void init() {

addToMap("A", "张三", "20", "87");

addToMap("B", "李四", "19", "88");

addToMap("C", "王五", "21", "93");

}

///最常规的一种遍历方法

public static void iterByCollection() {

init();

Collection c = map.values();

Iterator it = c.iterator();

for (; it.hasNext();) {

System.out.println(it.next());

}

}

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

public static void iterByKeySet(){

Set key = map.keySet();

for (Iterator it = key.iterator(); it.hasNext();) {

String s = (String) it.next();

System.out.println(map.get(s));

}

}

//比较复杂的一种遍历,它可以得到任何你想得到的

public static void iterByEntry() {

Set> set = map.entrySet();

for (Iterator> it = set.iterator(); it.hasNext();) {

Map.Entry entry = (Map.Entry) it.next();

System.out.println(entry.getKey() + "--->" + entry.getValue());

}

}

public static void main(String[] args) {

System.out.println("Iterator by Collection");

iterByCollection();

System.out.println("Iterator by KeySet");

iterByKeySet();

System.out.println("Iterator by Entry");

iterByEntry();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值