通常我会将Deque用于它的预期目的但不经常我需要从中选择一个随机元素。我使用下面的代码来执行此操作,但它需要迭代Deque。有没有更有效的方法呢?
Iterator<T> iterator = mDeque.iterator();
int target = mRand.nextInt(mDeque.size());
while (iterator.hasNext()) {
if (target == 0) {
chosenElement = iterator.next();
break;
} else {
iterator.next();
target--;
}
}