1、创建一个Enum
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public enum FactoryStatus {
BAD( 0 , "ou" ),
GOOD( 1 , "yeah" );
private int status;
private String description;
FactoryStatus( int status, String description){
this .status=status;
this .description=description;
}
public int getStatus() {
return status;
}
public String getDescription(){
return description;
}
}
|
登录后复制
这个enum作为map的value。
2、开始遍历
方法一
1 2 3 4 | Set set = map.keySet();
for (Object o : set) {
System.out.println(o+ "" +map.get(o));
}
|
登录后复制
通过key的set集合进行遍历,然后通过key来取map的value,此方法用的比较多。
方法二
1 2 3 4 5 6 | Set set = map.keySet();
Iterator iterator = set.iterator();
while (iterator.hasNext()){
Object next = iterator.next();
System.out.println( "key为:" +next+ ",value为:" +map.get(next));
}
|
登录后复制
将key的set集合以迭代器的方式遍历出来,然后通过key来取map的value。
方法三
1 2 3 4 5 6 | Set<Map.Entry<String, FactoryStatus>> entries = map.entrySet();
Iterator<Map.Entry<String, FactoryStatus>> iterator1 = entries.iterator();
while (iterator1.hasNext()){
Map.Entry<String, FactoryStatus> next = iterator1.next();
System.out.println( "方法三的key为:" +next.getKey()+ ",value为:" +next.getValue());
}
|
登录后复制
将Map的键值对以迭代器的方式遍历出来,然后通过.getKey()与.getValue()方法取k、v的值。
方法四
1 2 3 4 | Collection<FactoryStatus> values = map.values();
for (FactoryStatus value : values) {
System.out.println( "方法四的value为:" +value);
}
|
登录后复制
此方法直接取出map的value并放在collection中,然后将v循环遍历。
立即学习“Java免费学习笔记(深入)”;
方法五
1 2 3 4 | Set<Map.Entry<String, FactoryStatus>> entries = map.entrySet();
for (Map.Entry<String, FactoryStatus> entry : entries) {
System.out.println( "方法五的key为:" +entry.getKey()+ ",value为:" +entry.getValue());
}
|
登录后复制
取得所有键值对来通过foreach循环,遍历出所有k、v,理论上推荐这种方法,尤其是容量较大的时候。
以上就是Java中遍历Map的方法有哪些?的详细内容,更多请关注php中文网其它相关文章!