使用HashMap来存放信息
/*
* @Description //main函数
* @Param
* @return
**/
import java.io.*;
import java.util.*;
public class HelloServer {
public static void main(String[] args) throws IOException {
HashMap map = new HashMap<>();
File txtFile = new File("C:\\Users\\Administrator\\Desktop\\test.txt");
FileInputStream fr = new FileInputStream(txtFile);
InputStreamReader isr = new InputStreamReader(fr);
BufferedReader br = new BufferedReader(isr);
int len;
while ((len = br.read()) != -1) {
map.put((char) len, map.get((char) len) == null ? 1 : (map.get((char) len) + 1));
}
System.out.println(hashMapSort(map));
}
//接收一个HashMap 排序后在返回该HashMap
public static HashMap hashMapSort(HashMap map) {
//1、按顺序保存map中的元素,使用LinkedList类型
List> keyList = new LinkedList>(map.entrySet());
//2、按照自定义的规则排序
Collections.sort(keyList, new Comparator>() {
@Override
public int compare(Map.Entry o1, Map.Entry o2) {
if (o2.getValue().compareTo(o1.getValue()) < 0) {
return 1;
} else if (o2.getValue().compareTo(o1.getValue()) > 0) {
return -1;
} else {
return 0;
}
}
});
//3、将LinkedList按照排序好的结果,存入到HashMap中
HashMap result = new LinkedHashMap<>();
for (Map.Entry entry : keyList) {
result.put(entry.getKey(), entry.getValue());
}
return result;
}
}
java txt中统计一个字母出现的次数并储存 统计txt文件中每个字符出现的次数 并根据次数从高到低排序...