最近在看Java集合框架的代码,发现ArrayDeque没有get方法。是Java官方认为不需要该方法,还是无法支持?
public E get(int i) {
if (i > elements.length || i < 0) {
throw new IndexOutOfBoundsException();
}
i = (head + i) % elements.length;
return (E) elements[i];
}
如果使用上述代码来获取ArrayDeque索引位置的元素,是否可行?
都用队列了不就不应该关心位置么 😂 顶多知道首(head)和尾(tail)就好了。
非想通过索引来取值你不应该用
ArrayList
啥的么。你会发现还有一点不同的是队列没法从中间插入元素……
其实大部分语言的队列这种数据结构都不支持这么做,倒不是说不能实现,但你这么做了以后队列和列表的区别又在哪儿呢?