Мне нужно сравнить 2 CSV-файла с текстом более 300 000 и найти совпадения, а затем отобразить совпадения на экране. ЛистJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Мне нужно сравнить 2 CSV-файла с текстом более 300 000 и найти совпадения, а затем отобразить совпадения на экране. Лист

Сообщение Anonymous »

Я читаю два файла 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»