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

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

如题。。比如
aaa
bbb
ccc
aaa
eee
fff
eee

按行读取这个文件,如何判断两行是否相同?因为这里我需要将相同内容的所在行号记录下来,
比如上述就应该处理成这种形式:
(map类型<string,List<Integer>>)

       aaa:(1,4)
      bbb: (2)
      ccc: (3)
      eee: (5,7)
      fff: (6)

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);
            }
        }

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


这个Map的设计没有问题,如果不考虑效率,可以一行一行读,然后做相应操作啊。
判断两行相等不就是用equals吗?

补充:
不完全代码:

reader = new BufferedReader(new FileReader(file));
int line = 1;
String lineStr = null; //每一行文本
while ((lineStr= reader.readLine()) != null) {
    //TODO 做相应的操作,楼下已提供
    line++; // 行号
}
【热门文章】
【热门文章】