2017-02-21 6 views
0

Die folgende Methode ist die Methode, die ich zum Auffüllen meines Arrays verwende. Jedoch möchte ich ein zufälliges deals_information Objekt von meiner ArrayList des Typs Deals_Information zurückgeben, bin mir aber nicht ganz sicher, wie.Zufallsobjekt aus ArrayList abrufen

public void populateArray() { 

    databaseReference.child("FruitDeals").addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 

      Iterable<DataSnapshot> children = dataSnapshot.getChildren(); 
      final ArrayList<Deals_Information> myArray = new ArrayList<>(); 

      for (DataSnapshot child : children) { 
       Deals_Information deals_information = child.getValue(Deals_Information.class); 
       myArray.add(deals_information); 
      } 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 
} 
+0

java.lang.Random ist dein Freund .... als hätte man wahrscheinlich durch Eingabe von java + random in Google herausgefunden. –

+0

Mögliches Duplikat von [Abrufen eines zufälligen Objekts von ArrayList] (http://stackoverflow.com/questions/5034370/retrieving-a-random-item-from-arraylist) – moondaisy

+0

Mögliches Duplikat von [Nach dem Zufallsprinzip ein Objekt aus einer Liste auswählen] (http://stackoverflow.com/questions/12487592/randomly-select-an-item-from-a-list) –

Antwort

0

Verwenden Sie Random, um ein zufälliges int aus dem Bereich 0 und der Größe 1 Ihrer Sammlung zu erhalten.

Seit Java 1.7 ist die empfohlene Random-Implementierung ThreadLocalRandom.

private int randomInt(final int from, final int to) { 
    return ThreadLocalRandom.current().nextInt(from, to); 
} 
0

Da Arraylisten eine get() Funktion haben, die Art und Weise, dies zu tun ist, zunächst mit Hilfe der math.random() Funktion, eine Zufallszahl zu erzeugen und verwenden Sie dann die get() Funktion Ihrer Arraylist das Objekt an diesem zufällig generierten Index zu nennen .

Verwandte Themen