Sop*_*ner 3 java arraylist deque
使用此Java代码:
// create the items list
List<Item> items = new ArrayList<Item>();
// ... (add some elements into the list so that it is not empty)
// iterating ArrayList<Item> from right to left we find the position
// based on the `if` condition satisfied for an item property
int pos = 0;
for (int j = items.size() - 1; j >= 0; j--) {
Item item = items.get(j);
if (item.property <= 7) {
pos = j + 1; break;
}
}
// add new item on the found above position
Item it = new Item();
if (pos == items.size()) {
items.add(it);
} else {
items.add(pos, it);
}
Run Code Online (Sandbox Code Playgroud)
如果Item item = items.get(j);由于ArrayList使用过这个声明需要一些额外的时间来执行,我很沮丧.例如,假设我们需要将新项添加到最后,然后通过调用get()项列表将仅从左侧迭代它,这是多余的.我希望使用Deque结构代替ArrayList.
您可以推荐什么,也许我完全错了,因为新元素也可以在开头添加,但目标是从右侧向左侧迭代.