Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    java eliminare doppi da un vettore

    ho un vettore di interi....devo eliminare i doppi solo non ci riesco come devo fare?avevo pensato di creare un secondo array uguale al primo e scorrerli con due cicli for innestati...ma non mi da il risultato voluto..consigli??

  2. #2
    Prima di tutto bisognerebbe capire cosa intendi per eliminare i doppi, ti basta che questi siano settati a null o a -1, oppure vuoi proprio eliminarli dall'array (suppongo che per vettore intendi un array e non un java.util.Vector)

  3. #3
    un vettore è un arraylist, per eliminare doppi intendo se ci sono due numeri uno devo cancellarlo e l altro deve restare

  4. #4
    se è un ArrayList e abbastanza semplice (PSEUDO CODICE):
    codice:
    Iterator<Integer> iterator = arrayList.iterator();
    int index = 0;
    while(iterator.hasNext())
    {
         int element = iterator.next();
         for(int i =0; i < arrayList.size(); i++)
         {
               int elementTwo = arrayList.get(i);
               if(element == elementTwo && index != i)
               {
                    iterator.remove();
               }
         }
         index++;
    }

  5. #5
    grazie..ma index a cosa serve?

  6. #6
    Bè direi che il fulcro ti serve a sapere se è un doppione cioè se la posizione del primo elemento coincide con il secondo allora è proprio quell'elemento altrimenti è un doppione.

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Accettando il fatto di ottenere una nuova lista e sfruttando le collezioni si può anche fare:

    (se non importa l'ordine):
    List<TuoTipo> listaNuova = new ArrayList<TuoTipo>(new HashSet<TuoTipo>(listaOriginale));

    (se importa l'ordine):
    List<TuoTipo> listaNuova = new ArrayList<TuoTipo>(new LinkedHashSet<TuoTipo>(listaOriginale));
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: java eliminare doppi da un vettore

    Originariamente inviato da rossonero922
    ho un vettore di interi....devo eliminare i doppi solo non ci riesco come devo fare?avevo pensato di creare un secondo array uguale al primo e scorrerli con due cicli for innestati...ma non mi da il risultato voluto..consigli??
    Se non posti quello che hai scritto è un po' difficile capire perché non ti da il risultato voluto...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  9. #9
    non mi funzionano nessuno dei metodi proprosti.....

    comunqu io avevo fatto cosi
    codice:
    ArrayList<File1>fileb=file1;
    	for(int i=0;i<file1.size();i++)
    	{
    		for(int h=0;h<fileb.size();h++)
    		if(file1.get(i)==fileb.get(h));
    		file1.remove(i);
    		
    	}
    	return file1;
    l arrayList file1 contiene numeri letti da due file e ordinati(da me) fino a questo punto mi funziona poi ora che devo ordinare i doppi non ci riesco....con questo pezzo di codice ho tentato di toglierli ma non va....

  10. #10
    Scusa ma la classe "File1" che robba è cmq sia è sbagliato == dell'if gli oggetti si confrontano sempre con .equals (ovviamente se quella è una tua classe devi implementare questo metodo)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.