java – 如何只从Arraylist中获取特定值

我有一个ArrayList< Integer>值(20,40,60,80,100,120)是否可以仅检索位置2-5,即60,100和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));
}

解决方法

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

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

笔记:

>上限是独占的,因此要获得包含120的列表元素,我们必须指定6作为上限,而不是5.
>生成的子列表由原始列表“支持”.因此:

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

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...