2014-11-30 7 views
5

Come posso fare per vedere il risultato di due o più numeri identici contenuti in un elenco. Tutto deve essere basato su elenchi, il codice stesso è semplice ma non ho idea di come ottenere lo stesso schermo di stampa dei valori.Valori uguali in un elenco java

Tutto ciò viene eseguito con 5 numeri inseriti in un elenco.

esempio:

Introdurre 1 - 2 - 3 - 3 - 4

E l'uscita sarebbe il numero 3 è ripetuto.

Questo è il mio codice:

package generarlista; 
import java.util.*; 

public class GenerarLista { 
    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     int num; 
     Scanner read = new Scanner (System.in); 
     List<Integer> lista = new ArrayList<>(); 
     System.out.println("A list of 5 integers is generated and printed equal values\n"); 
     for (int i=1; i<6; i++){ 
      System.out.println("Enter the value "+ i +" element to populate the list"); 
      num = read.nextInt(); 
      lista.add(num); 
     } 
     System.out.println("Data were loaded \n"); 
     System.out.println("Values in the list are: "); 

     Iterator<Integer> nameIterator = lista.iterator(); 

     while(nameIterator.hasNext()){ 
      int item = nameIterator.next(); 
      System.out.print(item+"/"); 
     } 
     System.out.println("\n"); 
     System.out.println("Equals are: "); 

    } 

} 

vi ringrazio molto!

+0

fornire un esempio di input e output. Vorrei comunque ordinare la lista e poi iterare, stampando ogni numero se il successivo è uguale al precedente. – Hanan

+0

Quello che vuoi non è chiaro. Fornire input di esempio e output previsti. –

+0

hashmap Suppongo che io abbia dimenticato l'esempio –

risposta

2

Esistono molti approcci diversi che potrebbero risolvere questo problema. Questa prima cosa che mi è venuta in mente è di ordinare la Lista Array e controllare i personaggi adiacenti.

package generarlista; 
import java.util.*; 

public class GenerarLista { 
/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 
    int num; 
    Scanner read = new Scanner (System.in); 
    List<Integer> lista = new ArrayList<>(); 
    System.out.println("A list of 5 integers is generated and printed equal values\n"); 
    for (int i=1; i<6; i++){ 
     System.out.println("Enter the value "+ i +" element to populate the list"); 
     num = read.nextInt(); 
     lista.add(num); 
    } 
    System.out.println("Data were loaded \n"); 
    System.out.println("Values in the list are: "); 

    Collections.sort(lista); 

    List<Integer> duplicates = new ArrayList<>(); 

    for (int i = 0; i < lista.size(); i++) { 
     System.out.print(lista.get(i) + " "); 
     if (i < lista.size()-1 && lista.get(i) == lista.get(i+1)) 
      if (!duplicates.contains(lista.get(i)) 
       duplicates.add(lista.get(i)); 
    }  

    System.out.println("\n"); 
    System.out.println("Equals are: "); 

    for (int i = 0; i < duplicates.size(); i++) { 
     System.out.print(duplicates.get(i) + " "); 
    } 

} 

}