Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从ConcurrentLinkedQue的特定位置获取元素_Java_Multithreading_Data Structures_Position_Deque - Fatal编程技术网

Java 从ConcurrentLinkedQue的特定位置获取元素

Java 从ConcurrentLinkedQue的特定位置获取元素,java,multithreading,data-structures,position,deque,Java,Multithreading,Data Structures,Position,Deque,如何像ArrayList.get(index)一样从ConcurrentLinkedQue的特定位置获取元素 感谢和问候 Rajesh.ConcurrentLinkedQue不允许随机访问。只能检索第一个或最后一个元素 尽管你可以重复它 ConcurrentLinkedDeque<Integer> dq = new ConcurrentLinkedDeque<>(); Iterator<Integer> itr = dq.iterator(); while (

如何像ArrayList.get(index)一样从ConcurrentLinkedQue的特定位置获取元素

感谢和问候


Rajesh.

ConcurrentLinkedQue
不允许随机访问。只能检索第一个或最后一个元素

尽管你可以重复它

ConcurrentLinkedDeque<Integer> dq = new ConcurrentLinkedDeque<>();
Iterator<Integer> itr = dq.iterator();
while (itr.hasNext()) {
    Integer i = itr.next();
}
ConcurrentLinkedQue dq=新的ConcurrentLinkedQue();
迭代器itr=dq.Iterator();
while(itr.hasNext()){
整数i=itr.next();
}

ref:

除非您编写一些代码,否则没有一种方法可以做到这一点。谢谢,smk。您能简要解释一下您的建议吗?@Rajesh请注意,对并发集合的随机访问可能与它的名称完全相同:random!由于多个线程可能会同时更改集合,因此您永远无法确定第n个元素是否仍然是它应该的样子。这就是为什么即使方法
size()
也不能保证返回准确的值!