nani10:
Tengo una ArrayList<Integer>
con valores (20, 40, 60, 80, 100, 120)
¿Es posible recuperar sólo la posición 2-5
única que es 60, 80, 100 and 120
? Gracias por cualquier ayuda.
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));
}
Stephen C:
En Java se puede crear una lista secundaria ( javadoc ) de una lista; p.ej
List<Integer> list = ...
List<Integer> sublist = list.sublist(2, 6);
notas:
El límite superior es exclusiva, por lo que para obtener el elemento de lista que contiene
120
debemos especificar6
que el límite superior, no5
.La lista secundaria resultante es "respaldado" por la lista original. Por lo tanto:
- no hay ninguna copia involucrados en la creación de la lista secundaria, y
- cambios en la sublista modificarán las posiciones correspondientes en la lista original.