Ajuda com CSV e listView

Bom, eu estou com um problema e não sei se este é exatamente o fórum certo, a moderação pode mudar.
Enfim, eu tenho um arquivo CSV de mais ou menos 7 mil linhas nesse formato:
12345;001;String_desse_tamanho_ou_mais;-12343.4;-1234.5;0
Eu criei uma classe “CSV” assim:

public abstract class CSV { private float latitude; private float longitude; private float codigo; public void setLat(String lat) { this.latitude = Float.parseFloat(lat.replaceAll(" ", "")); } public void setLong(String longi) { this.longitude = Float.parseFloat(longi.replaceAll(" ", "")); } public void setCodigo(String codigo) { this.codigo = Float.parseFloat(codigo); } public float getLat() { return this.latitude; } public float getLon() { return this.longitude; } public float getCodigo() { return this.codigo; } }
Outra chamada “Onibus”

[code]public class Onibus extends CSV {
private String nome;
private float rota;
private float numero;
public void setNum(String numero)
{
this.numero = Float.parseFloat(numero);
}
public float getNum()
{
return this.numero;
}
public void setRota(String rota)
{
this.rota = Float.parseFloat(rota);
}
public float getRota()
{
return this.rota;
}
public void setNome(String nome)
{
this.nome = nome;
}
public String getNome()
{
return this.nome;
}

}[/code]
E a parte do código que roda o leitor da CSV:

public void lerCSV() throws FileNotFoundException { //Carregar o CSV InputStream file = getResources().openRawResource(R.raw.onibus); BufferedReader reader = new BufferedReader(new InputStreamReader(file)); //Ler o CSV ValueProcessorProvider provider = new ValueProcessorProvider(); CSVEntryParser<Onibus> entryParser = new AnnotationEntryParser<Onibus>(Onibus.class, provider); CSVReader<Onibus> csvPersonReader = new CSVReaderBuilder<Onibus>(reader).entryParser(entryParser).build(); try { Onibus = csvPersonReader.readAll(); } catch (IOException e) { e.printStackTrace(); } //Testando se funcionou Log.d("lol", Onibus.get(302).getNome()); }

Entretanto, quando eu tento separar em uma nova String[] os nomes que são repetidos, simplesmente o App trava e fecha:

public String[] Nomes() { for(int i=1;i<Onibus.size()+1;i++) { if(Onibus.get(i).getNome().compareTo(Onibus.get(i-1).getNome()) > 0) { nome[i-1] = Onibus.get(i).getNome(); } } return nome; }
Eu tento colocar essa array “nome” numa listView apenas para testar o código, entretanto, não funciona, já que trava ao tentar executar Nomes();
Alguém pode me ajudar ou demonstrar um outro caminho mais rápido ? Já que o CSV é muito grande, não é o único e demora muito para o App carregar.

Resolvi meu problema !!