当前位置: 首页 > 面试题库 >

随机迭代ArrayList 在Java中

艾文斌
2023-03-14
问题内容

似乎是一个非常基本的问题。我有一个ArrayList<Integer> al,我想对其进行迭代。一般,

for(int i : al) {
    // some code
}

绝招。但是我的要求不是迭代,而是随机地。


问题答案:

您可以Collections.shuffle()在列表中使用。

请注意,这将随机排列列表,因此,如果顺序很重要,则应制作一个副本(并随机排​​列副本)。

List<Customer> newList = new ArrayList<>( oldList ) ;
Collections.shuffle( newList ) ;

或者,您可以创建一个包含元素的随机数组,0 - List.size()-1并使用这些元素作为索引来访问中的“随机”元素List



 类似资料:
  • 本文向大家介绍在Java中迭代ArrayList,包括了在Java中迭代ArrayList的使用技巧和注意事项,需要的朋友参考一下 Java中的Iterator用于遍历集合中的每个元素。使用它遍历,获取每个元素,或者甚至可以从ArrList中删除元素。要使用迭代器遍历集合的内容,请首先通过调用集合的iterator()方法来获得一个迭代器,使其到达集合的开头。在那之后,建立一个循环来调用hasNe

  • 问题内容: 当您要依次遍历数字列表时,您将编写: 但是,如果要随机遍历范围(0..999)的数字列表怎么办?需要(在每个迭代中)随机选择在任何先前迭代中未选择的数字,并且需要对范围(0..999)内的所有数字进行迭代。 你知道该怎么做(聪明)吗? 问题答案: 您可以习惯随机播放列表: 顺便说一句,在许多情况下,您将在其他编程语言中使用整数范围内的循环,则可以直接描述要在Python中迭代的“事物”

  • 我正在尝试使用For循环将一个随机整数(0-2)添加到一个变量中指定的次数。我遇到的问题是,循环不是每次循环时都使用一个新的随机数,所以,如果我输入9,我只能得到0、9,或者18。 我希望一个对象返回的键“a”和“b”具有不同的数值。

  • 我想在字符串与给定值匹配时更新该值 有没有人可以使用Java streams API来实现上述功能

  • 我有一个包,有以下内容: 6颗红色大理石 我想从袋子里取出一个随机的弹珠,记录它的颜色,然后重复,直到袋子里不再剩下弹珠: 排序计数 包={2:蓝色,5:绿色,6:红色} 累计={2:蓝色,7:绿色,13:红色} 兰德(0,13)=3 i=1 绿色的 袋子={2:蓝色,4:绿色,6:红色} 这是一种很好的方法,还是在时间复杂度方面有更有效的方法?