Java Stream并不支持元素的隨機(jī)訪問,因?yàn)镾tream是一種惰性計(jì)算的數(shù)據(jù)流,其元素是按需處理的。如果需要實(shí)現(xiàn)元素的隨機(jī)訪問,可以先將Stream中的元素收集到一個(gè)List或者數(shù)組中,然后再進(jìn)行隨機(jī)訪問操作。
例如,可以使用collect(Collectors.toList())方法將Stream中的元素收集到一個(gè)List中,然后通過List的get方法實(shí)現(xiàn)隨機(jī)訪問:
List<Integer> list = Stream.of(1, 2, 3, 4, 5)
.collect(Collectors.toList());
int randomIndex = new Random().nextInt(list.size());
int randomElement = list.get(randomIndex);
System.out.println("隨機(jī)訪問的元素為: " + randomElement);
以上代碼首先將Stream中的元素收集到List中,然后生成一個(gè)隨機(jī)索引,最后通過List的get方法獲取隨機(jī)訪問的元素。
另外,如果需要頻繁進(jìn)行隨機(jī)訪問操作,可以考慮使用數(shù)組代替List,因?yàn)閿?shù)組的訪問速度更快。