Android (metodo per il controllo di arrays per numbers ripetuti?)

qualcuno potrebbe aiutarmi. sto facendo un'app, e nel java i numbers vengono inviati ad un arrays int e ho bisogno di verificare se uno dei numbers nell'arrays ripetuto e se ci sono call un metodo o qualcosa di simile. C'è un metodo per controllare questo o qualcosa di simile? o dovrei farlo usando loop e se le dichiarazioni, che ho provato, ma sta diventando un po 'lungo e confusa. Qualsiasi consiglio sarebbe fantastico, grazie.

int test[] = {0,0,0,0,0,0,0}; (The Array) (A method to check if any of the arrayss numbers are repeated) 

  • IntelliJ IDEA 12 - La nuova procedura guidata del module di applicazione Android non riesce "non riesce a trovare la directory di risorse per il module"
  • Risorse di programmazione di networking Android (Java)
  • JSON analisi JSON di più JSONObjects all'interno di JSONObject
  • Importzione di org.apache.commons in applicazioni Android
  • Come analizzare una chiave JSON dynamic in un risultato JSON nidificato?
  • Imansible get i file condivisi con me con Google Drive Api utilizzando Filters.sharedWithMe ()
  • 3 Solutions collect form web for “Android (metodo per il controllo di arrays per numbers ripetuti?)”

    È ansible utilizzare il metodo Collections.frequency () per get il numero di volte in cui viene ripetuto un numero. A seconda di ciò che si desidera, è ansible eseguire iterazioni su una serie di interi e verificare quante volte ciascuna viene ripetuta. se una frequenza degli elementi è maggiore di 1 rispetto a quella ripetuta in quella matrix. È ansible adattare il codice seguente in base alle proprie esigenze. Nota: dal modo in cui System.out.println () fornisce l'output alla sezione del gatto eclipse log. è solo per la dimostrazione.

     ArrayList<Integer> nums = new ArrayList<Integer>(); nums.add(new Integer(3)); nums.add(new Integer(3)); nums.add(new Integer(3)); nums.add(new Integer(2)); nums.add(new Integer(2)); nums.add(new Integer(1)); System.out.println("Number of 1's" + " " + Collections.frequency(nums, 1)); System.out.println("Number of 2's" + " " + Collections.frequency(nums, 2)); System.out.println("Number of 3's" + " " + Collections.frequency(nums, 3)); 

    Quello che state cercando di emulare è un SET

    Una raccolta che non contiene elementi duplicati. Più formalmente, i set non contengono alcuna coppia di elementi e1 e e2 tale che e1.equals (e2) e al massimo un elemento null. Come sottinteso dal suo nome, questa interface modella l'astrazione math impostata.

    Set è un'interface in modo da poter utilizzare HashSet o TreeSet per implementare tale interface. Quindi avrai solo 1 object dello stesso valore anche se si tenta di aggiungere lo stesso.

    Per assicurarsi di avere già quell'object (in altri per spegnere l'evento / metodo) è ansible utilizzare la function che contiene restituisce un controllo boolean se l'elemento già esiste nell'insieme.

    Scrivo qualcosa di simile:

    public boolean hasRepeatedNumbers (int [] a) {int [] b = nuovo int [a.length]; System.arrayscopy (a, 0, b, 0, a.length); Array.sort (b); int i; per (i = 1; i <b.length; i ++) {se (b [i] == b [i-1]) restituisce true; } restituisce false; }

    Ciò funziona perché ordinate l'arrays (in realtà una copia dell'arrays, in quanto non vogliamo confondere con l'arrays originale del chiamante), quindi individuare duplicati adiacenti. Poiché l'arrays è ordinato, tutti i duplicati saranno necessariamente adiacenti.

    Se l'arrays è grande e la copia è costoso, è ansible farlo in posizione (ma documentare la function in questo modo).

    Se non è ansible ordinare l'arrays, è ansible anche creare un set, quindi eseguire l'iterazione attraverso il test dell'arrays se il valore corrente è nell'insieme – se è, è un duplicato. In caso contrario, posizionarlo nell'insieme.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.