博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序...
阅读量:6301 次
发布时间:2019-06-22

本文共 1789 字,大约阅读时间需要 5 分钟。

文件格式如下: 

1,s,28

2,a,35
3,a,28
4,b,35
5,s,28
6,a,35
7,c,28
8,d,35
9,c,28
10,c,28
11,c,28
12,c,28
13,c,28

代码的思路如下: 

首先取出每行的内容,并放入一个list中,然后取出每一行的name分别放入set和list中,计算出重复的个数,最后进行排序。

package jisuan;import java.io.BufferedReader;import java.io.FileReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Collections;import java.util.HashSet;import java.util.List;import java.util.Set;public class StringTest {    public static void main(String[] args) throws Exception {        InputStreamReader is = new FileReader("C:\\test\\b.txt");        BufferedReader br = new BufferedReader(is);        List
list = new ArrayList
(); String str = ""; // 读取文件,把取出的每一行放入到list中 while ((str = br.readLine()) != null) { list.add(str); } // 使用set存放name 不包括重复,使用list 存放所有的name Set
set = new HashSet
(); List
listname = new ArrayList
(); for (String s : list) { String[] sa = s.split(","); set.add(sa[1]); listname.add(sa[1]); } // 获取重复name的数目 List

Plist = new ArrayList

(); for (String setstr : set) { int count = 0; for (int j = 0; j < listname.size(); j++) { if (setstr.equals(listname.get(j))) { count++; } } if (count > 1) { Plist.add(new P(count, setstr)); // 这个是对于Comparable 接口的 Collections.sort(Plist); } } for (P p : Plist) { System.out.println(p.count + "===" + p.name); } }}// 创建一个类,并排序class P implements Comparable

{ int count; String name; public P(int count, String name) { this.count = count; this.name = name; } @Override public int compareTo(P o) { if (this.count > o.count) { return 1; } else { return -1; } }}

输出的结果是:2===s3===a6===c

 

转载于:https://www.cnblogs.com/Devilwx/p/4670694.html

你可能感兴趣的文章
查看那个进程占用了8080端口-windows
查看>>
freeipa 管理 nfs 配置
查看>>
数据库优化
查看>>
Cocos2d-x Lua Bindings 各种配置备忘
查看>>
spark 连接使用 hbase
查看>>
axis xfire和cxf 区别
查看>>
Canvas笔画向量交互动画效果,随着鼠标描绘轨迹
查看>>
【转】NGUI UIPanel原理分析
查看>>
Lua5.3相对于Lua5.1的变换
查看>>
Android默认字体ASCII码中可显示字符的平均灰度由小到大排序
查看>>
每日一模式之模板模式
查看>>
学习AOP时遇到关于InvocationHandler接口的问题
查看>>
在Android studio中添加jar包方法如下
查看>>
iframe 在ie下面总是弹出新窗口解决方法
查看>>
分享10款漂亮实用的CSS3按钮
查看>>
安装nginx 常见错误及 解决方法
查看>>
Gorun8电子商城
查看>>
在之前链表的基础上改良的链表
查看>>
android编译系统makefile(Android.mk)写法
查看>>
MD5源代码C++
查看>>