2017-02-21 64 views
0

下面的方法是我用來填充我的數組的方法。不過,我希望從我的ArrayList類型Deals_Information中隨機返回一個對象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是你的朋友....正如人們可能通過在google中輸入java + random發現的那樣。 –

+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

使用隨機從0範圍和集合的大小-1中獲得一個隨機int。

從Java 1.7開始,推薦的Random實現是ThreadLocalRandom。

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

由於的ArrayList有一個get()功能,要做到這一點是通過使用math.random()函數首先產生一個隨機數,然後順便用你的ArrayList get()函數來調用對象隨機生成的索引。