java map string stu_Java Map遍历的三种方式 | 学步园
最近經(jīng)常碰到Map遍歷的問題,在網(wǎng)上查找資料后,記錄下,權(quán)當(dāng)備忘~~~~~~
這里給出了三種遍歷的方式,注釋中已說明各自方式的優(yōu)點(diǎn)。
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");
}
///最常規(guī)的一種遍歷方法
public static void iterByCollection() {
init();
Collection c = map.values();
Iterator it = c.iterator();
for (; it.hasNext();) {
System.out.println(it.next());
}
}
//利用keyset進(jìn)行遍歷,它的優(yōu)點(diǎn)在于可以根據(jù)你所想要的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));
}
}
//比較復(fù)雜的一種遍歷,它可以得到任何你想得到的
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();
}
}
總結(jié)
以上是生活随笔為你收集整理的java map string stu_Java Map遍历的三种方式 | 学步园的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 支付宝永久限制收款怎么解决
- 下一篇: 金利华电是做什么的