Estou desenvolvendo uma simples classe em java, que carrega uma lista de nomes as vezes de ate 10MB, e filtra oque tiver entre os parenteses.
Qual a melhor forma de fazer ?
Primeira Opção: Utilizando um ArrayList, carregando a lista no Array e depois percorre e filtra os “( )”.
ArrayList<String> lista = new ArrayList<String>();
BufferedReader bufferedreader = new BufferedReader(new FileReader(args[0]));
for(String s1 = bufferedreader.readLine(); s1 != null; s1 = bufferedreader.readLine()) {
lista.add(s1);
}
Segunda Opção: Sem utilizar Array, Lendo do arquivo direto e salvano em outro arquivo
String s2 = "";
BufferedReader bufferedreader = new BufferedReader(new FileReader(args[0]));
PrintWriter matriculas = new PrintWriter(new FileWriter(nomeArquivo, true));
for(String s1 = bufferedreader.readLine(); s1 != null; s1 = bufferedreader.readLine()) {
s2 = s1.substring(s1.indexOf("(")+1, s1.lastIndexof(")")+1);
matriculas.println(s2);
}
matriculas.close();
Acredito que sem utilizar Array possa ficar mais rapido. Oq vcs acham ?