• 算法与编程2


    从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序:

    1,张三,28

    2,李四,35

    3,张三,28

    4,王五,35

    5,张三,28

    6,李四,35

    7,赵六,28

    8,田七,35

    package cn.suanfa;
    
    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.Reader;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.HashMap;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.TreeMap;
    
    public class Test0222 {
    
        public static void main(String[] args) throws IOException {
        Reader reader=new FileReader("src/data.txt");
        BufferedReader buffered=new BufferedReader(reader);
        String data=null;
        Map<String, Integer> map=new HashMap<String,Integer>();
        while ((data=buffered.readLine())!=null) {//循环读取每一行
            String[] sa= data.split(","); //id name  age
        if (map.containsKey(sa[1])) {  //集合中已经存在的学生
            map.put(sa[1], map.get(sa[1])+1);
        }else{
            map.put(sa[1], 1);//之前没有这个名字作为key
        }
        }
        //将双列集合数据转移到单列集合
        List<Entry<String, Integer>> list=new ArrayList<Entry<String,Integer>>(map.entrySet());
         Collections.sort(list,new Comparator<Entry<String, Integer>>() {
    
            @Override
            public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
            
                return o1.getValue().compareTo(o2.getValue());
            }
            
        });
         for (Entry<String, Integer> entry : list) {
            System.out.println(entry.getKey()+"	"+entry.getValue());
        }
        buffered.close();
        reader.close();
        }
        
    }
  • 相关阅读:
    圣诞快乐有感
    今天填补了尹大神的一个小瑕疵 被他戏称接锅侠 有感
    统计js数组中奇数元素的个数
    PHP实现一致性哈希算法
    寻找一组数的最大值并统计出现次数
    得知尹大神最后一天在岗位工作明天即将离开有感
    小物件之checkbox复选框
    处理特殊格式的GET传参
    vim分屏
    【学习笔记】Docker基础
  • 原文地址:https://www.cnblogs.com/caiguoxin/p/9332448.html
Copyright © 2020-2023  润新知