(一)Map的遍历
Map<String,Integer> map = new TreeMap<String,Integer>();
(1)Map.Entry<K,V>遍历
for(Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey()+":"+entry.getValue());
}
(2)Iterator遍历
Iterator<Entry<String,Integer>> iter = map.entrySet().iterator();
while(iter.hasNext()) {
Entry<String,Integer> entry = iter.next();
System.out.println(entry.getKey()+":"+entry.getValue());
}
(3)KEY,VALUE值遍历
for(String key : map.keySet()) {
System.out.println(key+":"+map.get(key));
}
(4)Value值遍历
for(int value : map.values()) {
System.out.println(value);
}
(二)Map的Key排序和Value排序
一般我们在使用map排序时,一般使用TreeMap来实例化Map,但TreeMap是对Key值按照递增的顺序进行排序的,如果我们要对Map进行其他形式的排序呢?
(1)Key降序排序
Map<String,Integer> map = new TreeMap<String,Integer>(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
// TODO Auto-generated method stub
return o2.compareTo(o1);
}
});
(2)根据value排序(升序)
List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String,Integer>>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>(){
@Override
public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
// TODO Auto-generated method stub
return o1.getValue().compareTo(o2.getValue());
}
});