Я читаю два файла CSV со своего компьютера и заполняю этими данными массив. Затем я сравниваю эти два массивлиста, чтобы найти совпадения.
Если CSV-файлы содержат до 20 строк, то проблем с поиском совпадений и отображением не возникает, но когда CSV-файл содержит более 300 000 строк строк, результат утомительный.
Файл RFM.csv содержит более 15000 строк и отображает полный список содержимого, файл CSV содержит более 300000 строк и выводится после 299000+ строк. А вот если выводить индекс отдельно, то значения от 0 до 299000 выводятся без проблем.
Строки в CSV-файле не сортируются. В двух файлах содержатся полное имя и дата рождения.
Скажите, пожалуйста, в чем ошибка?
public class Podft {
public static void main(String[] args) throws IOException{
ArrayList listBD = new ArrayList();
ArrayList listPFM = new ArrayList();
ArrayList result = new ArrayList();
BufferedReader readerBD = new BufferedReader(new FileReader("C:\\Users\\d\\Doc\\БД.csv"));
BufferedReader readerPFM = new BufferedReader(new FileReader("C:\\Users\\d\\Doc\\РФМ.csv"));
String lineBD = readerBD.readLine();
String linePFM = readerPFM.readLine();
while (lineBD != null) {
listBD.add(lineBD);
lineBD = readerBD.readLine();
}
while (linePFM != null) {
listPFM.add(linePFM);
linePFM = readerPFM.readLine();
}
for(int i = 0; i < listBD.size(); i++){
for(int j = 0; j < listPFM.size(); j++){
if(listBD.get(i).equals(listPFM.get(j))){
result.add(listPFM.get(j));
}
}
}
for (String q : result){
System.out.println(q);}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... -display-t
Мне нужно сравнить 2 CSV-файла с текстом более 300 000 и найти совпадения, а затем отобразить совпадения на экране. Лист ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как сгенерировать совокупную сумму из 300 000 000 случайных единиц и -1
Anonymous » » в форуме Python - 0 Ответы
- 27 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Наименьшее общее кратное натуральных чисел до предела, скажем, 10 000 000.
Anonymous » » в форуме Python - 0 Ответы
- 36 Просмотры
-
Последнее сообщение Anonymous
-
-
-
System.nanoTime()/1 000 000 полностью отличается от System.currentTimeMillis().
Anonymous » » в форуме JAVA - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-
-
-
C++ — Почему переполнение int все еще происходит после модификации 1'000'000'007?
Anonymous » » в форуме C++ - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-