如何从指示的索引中删除arraylist中的元素

时间:2013-09-02 20:51:13

标签: java arraylist queue element

如图所示,一次运行一个方法后,我想删除旧项目,并准备下次计算,但我想知道如何从指示的索引中删除arraylist中的元素,如队列,服从FIFO算法? q1

3 个答案:

答案 0 :(得分:11)

您可以使用List#subList(int, int)

List<Integer> list =  ...
list = list.subList(10, list.size()); // creates a new list from the old starting from the 10th element

或者,由于subList创建了一个视图,每个修改都会影响原始列表,这可能会更好:

List<Integer> list = ...
list.subList(0, 10).clear(); // clears the first 10 elements of list

答案 1 :(得分:1)

只需使用remove()方法即可。

假设您要删除ArrayList的索引为20到30的元素:

ArrayList<String> list = ...
for (int i = 0; i < 10; i++) { // 30 - 20 = 10
  list.remove(20);
}

删除索引20的第一个元素后,元素21将移至索引20。因此,您必须删除索引20处元素的10倍以删除接下来的10个元素。

答案 2 :(得分:0)

由于您没有编写高性能应用程序,因此在索引变量中存储如此多的语义是不好的方式。

更好的方法是使用地图。

电子。 G。 Map<Item, Integer> itemStockMap<Item, Double> prices。然后,您也不会对删除操作有任何问题。