¿Qué método trunca una lista, por ejemplo a los primeros 100 elementos, descartando los demás (sin iterar a través de elementos individuales)?Truncar una lista a un número dado de elementos
Respuesta
Uso List.subList
:
import java.util.*;
import static java.lang.Math.min;
public class T {
public static void main(String args[]) {
List<String> items = Arrays.asList("1");
List<String> subItems = items.subList(0, min(items.size(), 2));
// Output: [1]
System.out.println(subItems);
items = Arrays.asList("1", "2", "3");
subItems = items.subList(0, min(items.size(), 2));
// Output: [1, 2]
System.out.println(subItems);
}
}
Hay que tener en cuenta que subList
devuelve una vista de los artículos, por lo que si desea que el resto de la lista de ser elegible para la recolección de basura, debe copiar los artículos que desea a un nuevo List
:
List<String> subItems = new ArrayList<String>(items.subList(0, 2));
Si la lista es más corta que el tamaño especificado, espera un fuera de límites exception. Elija el valor mínimo del tamaño deseado y el tamaño actual de la lista como índice final.
Por último, tenga en cuenta que el segundo argumento debe ser uno más que el último índice deseado.
list.subList(100, list.size()).clear();
o:
list.subList(0, 100);
La primera opción modifica la lista mientras que la segunda no. Debería ser 'list = list.subList (0, 100)' –
También tenga en cuenta que 'subList (100, list.size()). Clear()' solo funcionará si list tiene su método claro implementado, por ejemplo, si create 'list' by' List
- 1. Extracción de un número dado de los valores más altos en una lista
- 2. función numpy para fijar elementos de matriz a un valor dado una lista de índices
- 3. Truncar la oración a un cierto número de palabras
- 4. Creando una matriz de números que suman un número dado
- 5. de la lista de números enteros, obtiene el número más cercano a un valor dado
- 6. Encontrar un número primo después de un número dado
- 7. número Truncar decimal no redondear
- 8. JLists - número de elementos en la lista
- 9. Devolución del número de elementos en una lista
- 10. Entero a byte con un número dado de bits establecidos
- 11. Número de conteo del objeto dado en una lista con LINQ
- 12. ¿Cómo detectar si un número dado es un número entero?
- 13. ¿Eliminar elementos secundarios dado un índice?
- 14. Truncar un flotador en Erlang
- 15. Anexar elementos de un conjunto a una lista en Python
- 16. Truncar/redondear el número entero en JavaScript?
- 17. Sumando elementos en una lista
- 18. Lanzar una colección de elementos de un cuadro de lista a una lista genérica
- 19. dado un total, determinar el número de veces que un valor va a entrar en ella
- 20. ¿Cómo verifico si un valor dado es una lista genérica?
- 21. ¿Cómo reemplazar un artículo dado en una lista?
- 22. Encontrar el número en una matriz que está más cerca de un número dado
- 23. ¿Cómo se multiplican los elementos individuales de una lista con un número?
- 24. jQuery ordenable - Limitar el número de elementos en la lista
- 25. ¿Cómo truncar fácilmente una matriz con JavaScript?
- 26. dado un conjunto de puntos
- 27. Lambda agrega elementos incrementados a la lista
- 28. Truncar una matriz sin copiarla?
- 29. listbox; número de elementos seleccionados
- 30. devolver una lista de elementos de una lista en OCaml
mientras la pregunta no es exactamente clara, suena como que Sam quiere que se borre el final de la lista. Por lo tanto, su respuesta debe incluir una lista.clear(). –
Es poco probable que funcione tan bien como la solución de karim79, que es la mejor alternativa: tiene la mejor posibilidad de funcionar bien y es también el código más limpio. –
Creo que depende del número de elementos que se eliminarán (y también si la Lista admite modificaciones) –