İki dosyadan okumaya çalışıyorum ve bunları iki ayrı arraylistte saklıyorum. Dosyalar ya bir satırda tek başına ya da virgülle ayrılmış birden çok kelime olan sözcüklerden oluşur. I (tamamlanmadı) Aşağıdaki kod ile her dosyayı okuyun:Başka bir arraylist içinde bulunan bir arraylist içindeki tüm nesneleri kaldırın.
ArrayList<String> temp = new ArrayList<>();
FileInputStream fis;
fis = new FileInputStream(fileName);
Scanner scan = new Scanner(fis);
while (scan.hasNextLine()) {
Scanner input = new Scanner(scan.nextLine());
input.useDelimiter(",");
while (scan.hasNext()) {
String md5 = scan.next();
temp.add(md5);
}
}
scan.close();
return temp;
şimdi de ikinci dosyada mevcut birinci dosyadan tüm kelimeleri içinde iki dosya okumak ve kaldırmak gerekir (bazı yinelenen kelimeler vardır dosyalarda). Ben-döngüler ve benzeri şeyler ile denedim, ama hiçbir şey işe yaramadı, bu yüzden herhangi bir yardım büyük takdir edilecektir!
Bonus sorusu: İki dosyada kaç tane yinelenen dosya olduğunu da öğrenmem gerekiyor - bunu her iki arraylist bir HashSet'e ekleyerek ve daha sonra ikişeyin toplam boyutundan kümenin boyutunu çıkararak yaptım arilistler - bu iyi bir çözüm mü yoksa daha iyi yapılabilir mi?
list1.removeAll(list2);
[başka ArrayList'den bir arrayList Çıkarma] Olası yinelenen (http://stackoverflow.com/questions/9933403/subtracting-one-arraylist-from-another-arraylist) –