2017-02-21 8 views
0

Ниже приведен метод, который я использую для заполнения массива. Однако я хочу вернуть случайный объект deals_information из моего ArrayList типа Deals_Information, но я не совсем уверен, как это сделать.Извлечь случайный объект из ArrayList

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 - ваш друг .... как можно было бы узнать, набрав java + random в Google. –

+0

Возможный дубликат [Извлечение случайного элемента из ArrayList] (http://stackoverflow.com/questions/5034370/retrieving-a-random-item-from-arraylist) – moondaisy

+0

Возможная дубликация [Случайный выбор элемента из списка] (http://stackoverflow.com/questions/12487592/randomly-select-an-item-from-a-list) –

ответ

0

Используйте случайное значение, чтобы получить случайный int из диапазона 0 и размера-1 вашей коллекции.

Начиная с версии Java 1.7 рекомендуемая реализация Random - это ThreadLocalRandom.

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

Поскольку ArrayLists имеет get() функцию, способ сделать это, чтобы сгенерировать случайное число с помощью функции math.random(), а затем использовать get() функции вашего ArrayList называть объект в этом случайном индексе ,

Смежные вопросы