2017-02-21 85 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()函数来调用对象随机生成的索引。