日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

读取一个文件,获取其中出现次数最多的前五个字符以及次数

發布時間:2025/5/22 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 读取一个文件,获取其中出现次数最多的前五个字符以及次数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

近期遇到這個題目的時候,大致思路是有就是讀取文件,字符串轉字符數組,排除重復的內容比較次數,結果問題就卡到這里,忘記使用map的鍵值對的特性,以及Collections.sort和Collections.reverse兩個方法。為了方便以后的使用,就把解決方法完成到這里,但是這里讀取文件時空格也是在統計內,且中文沒有做處理。

具體的代碼如下:

public class Qu {
public static void main(String[] args) {
demo(new File("F:\\qu\\a.txt"));
}

public static void demo(File file) {
BufferedReader bfr = null;
try {
bfr = new BufferedReader(new FileReader(file));//讀文件
String strs = null, str = null;
while ((str = bfr.readLine()) != null) {
strs = strs + str;
}
char[] ch = strs.toCharArray();//讀到的字符串,轉為字符數組
TreeMap<Character, Integer> map = new TreeMap<Character, Integer>(
Collections.reverseOrder()); //將字符數組放入Map對象集合中,字符作為鍵,出現的次數作為值
for (int i = 0; i < ch.length; i++) {
char c = ch[i];
if (map.containsKey(c)) {
int count = map.get(c);
map.put(c, count + 1);
} else {
map.put(c, 1);
}

}
/*//遍歷Map集合
Set<Map.Entry<Character, Integer>> set = map.entrySet();
java.util.Iterator<Entry<Character, Integer>> iterator = set
.iterator();
while (iterator.hasNext()) {
Map.Entry<Character, Integer> m = iterator.next();
char k = m.getKey();
int v = m.getValue();
System.out.println(k + "---" + v);
}*/
List<Entry<Character, Integer>> list = new ArrayList<Entry<Character, Integer>>(
map.entrySet());
Collections.sort(list,
new Comparator<Map.Entry<Character, Integer>>() {
// 升序排序
public int compare(Entry<Character, Integer> o1,
Entry<Character, Integer> o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
Collections.reverse(list);//反轉,List有升序變為降序
for (Entry<Character, Integer> e : list) {
System.out.println(e.getKey() + ":" + e.getValue());
}
System.out.println("前五條數據");
list = list.subList(0, 5);//截取子List,讀取前五個字符以及出現的次數
for (Entry<Character, Integer> e : list) {
System.out.println(e.getKey() + ":" + e.getValue());
}
} catch (FileNotFoundException e) {
System.out.println("找不到文件!");
e.printStackTrace();
} catch (IOException e) {
System.out.println("文件讀取錯誤!");
e.printStackTrace();
}
}

}

歡迎諸位指導。

轉載于:https://www.cnblogs.com/zhishifx/p/7219125.html

總結

以上是生活随笔為你收集整理的读取一个文件,获取其中出现次数最多的前五个字符以及次数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩免费视频一区二区 | 亚洲人成人 | 午夜精品久久久久久久96蜜桃 | 午夜香蕉 | 天天干天天爽 | 国产欧美精品在线 | 日本人与黑人做爰视频 | 深田咏美在线x99av | 色哟哟日韩精品 | 男女网站视频 | 午夜精品美女久久久久av福利 | 性高湖久久久久久久久免费 | 精品视频久久久久 | 精品国产91久久久久久 | 久久精品国产亚洲av无码娇色 | 亚洲精品一区二区三区不卡 | 久久99影院 | 美女在线播放 | 超碰免费在线观看 | av五月天在线 | 欧美日韩三级 | 黄色顶级片 | 中文在线字幕免费观看 | 国产精自产拍久久久久久蜜 | 成年视频在线 | 免费在线精品视频 | 美女网站在线 | 国产精品视频观看 | 国产精品入口夜色视频大尺度 | 国产精品三区在线观看 | 中文字幕综合在线 | 91精品国产乱码在线观看 | 特级西西444www大精品视频 | 佐佐木明希av在线 | 超碰免费看 | 亚洲人人精品 | 欧美黄色录像片 | 色综合久| 亚洲欧美在线看 | 日本捏奶吃奶的视频 | www.国产一区二区三区 | 国产成人精品综合在线观看 | 在线视频免费播放 | 无码精品人妻一区二区三区湄公河 | 欧美视频在线观看 | 99国产精品99久久久久久 | av电影中文字幕 | 熟女人妇 成熟妇女系列视频 | 美女扒开腿让男生桶 | 青青草手机在线视频 | 成年人性生活免费视频 | 1024香蕉视频 | 欧美a√ | 免费观看色 | 一级全黄男女免费大片 | 97国产免费 | 强行糟蹋人妻hd中文字幕 | 免费看欧美黑人毛片 | 91看视频 | 欧美不卡二区 | 荔枝视频污 | 久久99精品国产91久久来源 | 亚州av综合色区无码一区 | 在线免费观看视频网站 | 极品少妇xxxx | 波多在线视频 | 日本黄色一区二区 | 免费观看黄一级视频 | 日本三级吃奶头添泬 | 每日更新在线观看av | 欧美日韩国产成人精品 | 田中瞳av| 高h乱l高辣h文短篇h | 波多野结衣亚洲一区二区 | 美女扒开粉嫩的尿囗给男生桶 | www在线观看免费视频 | 中文字幕无码精品亚洲35 | 99精品欧美 | 精品视频久久久久 | 国产精品欧美亚洲 | 女人脱了内裤趴开腿让男躁 | 黄色小视频入口 | 人人看人人干 | 亚洲黄色a| 日韩大胆人体 | 亚洲一区二区三区在线 | 扒开腿揉捏花蒂h | 亚洲综合一区在线观看 | 男男全肉变态重口高h | 精品人妻少妇一区二区三区 | 欧美巨乳在线 | av生活片| 一区二区三区在线观看 | 亚洲黄片一区二区三区 | 人体写真 福利视频 | 91蜜桃 | 日本伊人影院 | 波多野吉衣一区二区 | 国产jizz |