MODIFICARE
Ecco due versioni. Uno usando ArrayListe l'altro usandoHashSet
Confrontarli e creare la propria versione di questo, fino ad ottenere quello che ti serve.
Questo dovrebbe essere sufficiente per coprire:
PS: Non è un compito scolastico :) Quindi se mi guidi solo sarà sufficiente
parte della tua domanda.
continuando con la risposta originale:
Puoi usare un java.util.Collection e / o java.util.ArrayListper quello.
Il metodo keepAll esegue le seguenti operazioni:
Conserva solo gli elementi di questa raccolta che sono contenuti nella raccolta specificata
guarda questo esempio:
import java.util.Collection;
import java.util.ArrayList;
import java.util.Arrays;
public class Repeated {
public static void main( String [] args ) {
Collection listOne = new ArrayList(Arrays.asList("milan","dingo", "elpha", "hafil", "meat", "iga", "neeta.peeta"));
Collection listTwo = new ArrayList(Arrays.asList("hafil", "iga", "binga", "mike", "dingo"));
listOne.retainAll( listTwo );
System.out.println( listOne );
}
}
MODIFICARE
Per la seconda parte (valori simili) puoi usare il metodo removeAll :
Rimuove tutti gli elementi di questa raccolta che sono contenuti anche nella raccolta specificata.
Questa seconda versione fornisce anche i valori simili e le maniglie ripetute (scartandole).
Questa volta Collectionpotrebbe essere a Setinvece di a List(la differenza è che il Set non consente valori ripetuti)
import java.util.Collection;
import java.util.HashSet;
import java.util.Arrays;
class Repeated {
public static void main( String [] args ) {
Collection<String> listOne = Arrays.asList("milan","iga",
"dingo","iga",
"elpha","iga",
"hafil","iga",
"meat","iga",
"neeta.peeta","iga");
Collection<String> listTwo = Arrays.asList("hafil",
"iga",
"binga",
"mike",
"dingo","dingo","dingo");
Collection<String> similar = new HashSet<String>( listOne );
Collection<String> different = new HashSet<String>();
different.addAll( listOne );
different.addAll( listTwo );
similar.retainAll( listTwo );
different.removeAll( similar );
System.out.printf("One:%s%nTwo:%s%nSimilar:%s%nDifferent:%s%n", listOne, listTwo, similar, different);
}
}
Produzione:
$ java Repeated
One:[milan, iga, dingo, iga, elpha, iga, hafil, iga, meat, iga, neeta.peeta, iga]
Two:[hafil, iga, binga, mike, dingo, dingo, dingo]
Similar:[dingo, iga, hafil]
Different:[mike, binga, milan, meat, elpha, neeta.peeta]
Se non fa esattamente quello che ti serve, ti dà un buon inizio in modo da poter gestire da qui.
Domanda per il lettore: come includeresti tutti i valori ripetuti?