我有一个包含50个Object
的数组。
我想每次启动应用程序时从该List
中随机获取4个对象。
然后将它们放在Map
中。
如何从数组中随机抽取4个对象?
这是我的代码示例:
ArrayList<Deal> dealsTodayArray = dealsToday.getDeals();
Map<String, Object> map = new HashMap<String, Object>();
map.put("dealsTodayFirst", dealsTodayFirst);
map.put("dealsTodaySecond", dealsTodaySecond);
map.put("dealsTodayThird", dealsTodayThird);
map.put("dealsTodayForth", dealsTodayForth);
最佳答案
尝试将Collections.shuffle
和Collections.subList
组合使用:
List<String> myStrings = new ArrayList<String>();
myStrings.add("a");
myStrings.add("b");
myStrings.add("c");
myStrings.add("d");
myStrings.add("e");
myStrings.add("f");
Collections.shuffle(myStrings);
System.out.println(myStrings.subList(0, 4));
输出(可能但不保证每次执行都会改变):
[c, b, f, d]