MapValue排序
来源:互联网 发布:mac迅雷下载速度0 编辑:程序博客网 时间:2024/06/04 19:56
从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序:
1,张三,28
2,李四,35
3,张三,28
4,王五,35
5,张三,28
6,李四,35
7,赵六,28
8,田七,35
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import java.util.Map;import java.util.Map.Entry;import java.util.Scanner;import java.util.TreeMap;public class MapValueSort { public static void main(String[] args) throws IOException { File f = new File("E:"+File.separator+"java"+File.separator+"E.txt"); InputStream ips = new FileInputStream(f); Scanner scan = new Scanner(ips,"GBK"); TreeMap<String,Integer> map = new TreeMap<String,Integer>(); while(scan.hasNextLine()){ String s = scan.nextLine().split(",")[1]; if(map.containsKey(s)){ int b = map.get(s)+1; map.put(s, b); }else{ map.put(s, 1); } } scan.close(); List<Map.Entry<String, Integer>> infoIds = new ArrayList<Map.Entry<String, Integer>>(map.entrySet()); for (int i = 0; i < infoIds.size(); i++) { String id = infoIds.get(i).toString(); System.out.println(id); } System.out.println("==========================="); Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() { @Override public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) { return -o1.getValue().toString().compareTo(o2.getValue().toString()); } }); for (int i = 0; i < infoIds.size(); i++) { String id = infoIds.get(i).toString(); System.out.println(id); } }}
0 0
- MapValue排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- 排序
- [LeetCode] Merge Intervals
- mysql连接报错"Too many connections"
- shell 的几个数据处理命令 管道命令
- 欢迎使用CSDN-markdown编辑器
- 缓冲区溢出
- MapValue排序
- 排序方法总结
- 阿里2016笔试题-棋盘问题 求路径的种数
- gcc连接文件error: /usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.X.XX‘ not found
- 第十五届全国青少年信息学奥林匹克联赛初赛试题
- 线性表之单链表
- Lucene3.0之结果排序(原理篇)
- writing .NET applications, which language to use?
- ios 抓包工具 ios青花瓷charles