Devo leggere in un file contenente molti indirizzi e-mail diversi e stamparli usando un array. Il problema è che ho bisogno di eliminare le e-mail duplicate.Java Rimuovere i duplicati da una matrice?
Sono stato in grado di ottenere il mio try/catch lavorando e stampare gli indirizzi e-mail. Tuttavia, non sono sicuro di come rimuovere i duplicati. Non ho ancora una conoscenza di hashcode o di come utilizzare uno Set
. Qualsiasi assistenza sarebbe apprezzata.
Ecco quello che ho finora:
import java.util.Scanner;
import java.io.*;
public class Duplicate {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter file name: ");
String fileName = keyboard.nextLine();
if (fileName.equals("")) {
System.out.println("Error: User did not specify a file name.");
} else {
Scanner inputStream = null;
try {
inputStream = new Scanner(new File(fileName));
} catch (FileNotFoundException e) {
System.out.println("Error: " + fileName + " does not exist.");
System.exit(0);
}
String[] address = new String[100];
int i = 0;
while (inputStream.hasNextLine()) {
String email = inputStream.nextLine();
// System.out.println(email);
address[i] = email;
System.out.println(address[i]);
i++;
}
}
}
}
Siete alla ricerca di una soluzione più efficiente possibile? In caso contrario, è sufficiente creare un nuovo array e scorrere il vecchio, aggiungendo come si va dopo aver controllato se la voce corrente è già nel nuovo array. – jli
@jli ha appena detto così prima di te: P. Potrebbe non essere la soluzione più efficace, ma l'inferno. –
possibile duplicato di [Come rimuovere elementi ripetuti da ArrayList?] (Http://stackoverflow.com/questions/203984/how-do-i-remove-repeated-elements-from-arraylist) – Mark