概述
package cn.php;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class CountList {
public static void main(String[] args) {
List strs = Arrays.asList("a", "b", "c", "d", "e", "a", "a",
"a", "a", "b", "b", "b");
Map map = new HashMap();
Set set = new HashSet(strs);
for (String str : set) {
for (String lstr : strs) {
if (str.equals(lstr)) {
if (map.containsKey(str)) {
Integer count = map.get(str);
count++;
map.put(str, count);
} else {
map.put(str, 1);
}
}
}
}
//printMap(map);
Map sortMap = sortMapByValue(map);
printMap(sortMap);
}
private static Map sortMapByValue(Map map) {
List> mapList = new ArrayList>(
map.entrySet());
Collections.sort(mapList, new Comparator>() {
@Override
public int compare(Entry o1,
Entry o2) {
return o1.getValue()-o2.getValue();
}
});
Map result = new LinkedHashMap();
for(Map.Entry entry:mapList){
result.put(entry.getKey(), entry.getValue());
}
return result;
}
public static void printMap(Map map) {
for (Map.Entry entry : map.entrySet()) {
System.out.println("Key : " + entry.getKey() + " Value : "
+ entry.getValue());
}
}
}
public Map sortMapByKey(Map oriMap) {
if (oriMap == null || oriMap.isEmpty()) {
return null;
}
Map sortedMap = new TreeMap(
new Comparator() {
public int compare(String key1, String key2) {
int intKey1 = 0, intKey2 = 0;
try {
intKey1 = getInt(key1);
intKey2 = getInt(key2);
} catch (Exception e) {
intKey1 = 0;
intKey2 = 0;
}
return intKey1 - intKey2;
}
});
sortedMap.putAll(oriMap);
return sortedMap;
}
private int getInt(String str) {
int i = 0;
try {
Pattern p = Pattern.compile("^\d+");
Matcher m = p.matcher(str);
if (m.find()) {
i = Integer.valueOf(m.group());
}
} catch (NumberFormatException e) {
e.printStackTrace();
}
return i;
}
最后
以上就是朴素大炮为你收集整理的java treemap 重复key_java统计List中的元素重复出现的次数和对map按key或键值排序的全部内容,希望文章能够帮你解决java treemap 重复key_java统计List中的元素重复出现的次数和对map按key或键值排序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复