我如何只从Arraylist中获取特定值

时间:2019-03-03 07:23:28

标签: java arraylist

我有一个ArrayList<Integer>,其值为(20, 40, 60, 80, 100, 120),是否只能检索位置2-5,即60, 80, 100 and 120?谢谢你的帮助。

for (DataSnapshot price : priceSnapshot.getChildren()) {
    int pr = price.getValue(Integer.class);
    priceList.add(pr); // size is 61 
}
int total = 0;
List<Integer> totalList = 
            new ArrayList<Integer>(priceList.subList(29, 34));               
for (int i = 0; i < totalList.size(); i++) {
    int to = totalList.get(i);
    total += to;
    txtPrice.setText(String.valueOf(total));
}

1 个答案:

答案 0 :(得分:6)

在Java中,您可以创建列表的子列表(javadoc);例如

List<Integer> list = ...
List<Integer> sublist = list.sublist(2, 6);

注意:

  1. 上限是互斥的,因此要获取包含120的列表元素,我们必须指定6作为上限,而不是5

  2. 结果子列表由原始列表“支持”。因此:

    • 创建子列表时不涉及复制,并且
    • 更改子列表将修改原始列表中的相应位置。