1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java txt中统计一个字母出现的次数并储存 统计txt文件中每个字符出现的次数 并根据

java txt中统计一个字母出现的次数并储存 统计txt文件中每个字符出现的次数 并根据

时间:2019-02-03 22:07:17

相关推荐

java txt中统计一个字母出现的次数并储存 统计txt文件中每个字符出现的次数 并根据

使用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文件中每个字符出现的次数 并根据次数从高到低排序...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。