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

如题。。比如

aaa

bbb

ccc

aaa

eee

fff

eee

按行读取这个文件,如何判断两行是否相同?因为这里我需要将相同内容的所在行号记录下来,

比如上述就应该处理成这种形式:

(map类型>)

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

}

}

这个

Map

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

判断两行相等不就是用

equals

吗?

补充:

不完全代码:

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

int line = 1;

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

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

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

line++; // 行号

}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值