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);
}
}
Tidak ada yang salah dengan reka bentuk ini Map Jika kecekapan tidak dipertimbangkan, anda boleh membacanya baris demi baris dan kemudian melakukan operasi yang sepadan. Bukankah perlu menggunakan equals untuk menilai sama ada dua baris adalah sama?
Tambahan: Kod tidak lengkap:
reader = new BufferedReader(new FileReader(file));
int line = 1;
String lineStr = null; //每一行文本
while ((lineStr= reader.readLine()) != null) {
//TODO 做相应的操作,楼下已提供
line++; // 行号
}
Tidak ada yang salah dengan reka bentuk ini
Map
Jika kecekapan tidak dipertimbangkan, anda boleh membacanya baris demi baris dan kemudian melakukan operasi yang sepadan.Bukankah perlu menggunakan
equals
untuk menilai sama ada dua baris adalah sama?Tambahan:
Kod tidak lengkap:
Menurut penyoal, hanya gunakan keyExist untuk menentukan sama ada ia wujud Saya tidak tahu keperluan lain yang diperlukan oleh penyoal;