为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA按行读取文件如何判断两行内容是否相同

JAVA按行读取文件如何判断两行内容是否相同

慕婉清6462132 2019-03-29 18:14:09
如题。。比如aaa bbb ccc aaa eee fff eee按行读取这个文件,如何判断两行是否相同?因为这里我需要将相同内容的所在行号记录下来,比如上述就应该处理成这种形式:(map类型<string,List<Integer>>)       aaa:(1,4)      bbb: (2)      ccc: (3)      eee: (5,7)      fff: (6)
查看完整描述

3 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

HashMap<String,List<Integer>> hm = new HashMap<String,List<Integer>>();

        

        for (String s : text){

            if (hm.containsKey(s)){

                List<Integer> list = hm.get(s);

                list.add(index);

                hm.put(s, list);

            }

            else {

                List<Integer> list = new ArrayList<Integer>();

                list.add(index);

                hm.put(s, list);

            }

        }


查看完整回答
反对 回复 2019-04-18
?
九州编程

TA贡献1785条经验 获得超4个赞

这个Map的设计没有问题,如果不考虑效率,可以一行一行读,然后做相应操作啊。

判断两行相等不就是用equals吗?


补充:

不完全代码:


reader = new BufferedReader(new FileReader(file));

int line = 1;

String lineStr = null; //每一行文本

while ((lineStr= reader.readLine()) != null) {

    //TODO 做相应的操作,楼下已提供

    line++; // 行号

}


查看完整回答
反对 回复 2019-04-18
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

按照题主的说法,就使用keyExist来判断是否存在就可以了阿,不知道题主是需要有什么其他的要求;


查看完整回答
反对 回复 2019-04-18
  • 3 回答
  • 0 关注
  • 988 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信