Me gustaría saber cómo crear una lista vinculada de listas enlazadas. Además, sería útil si el LinkedList
predefinido (clase de Java) y sus métodos se usan para definir y para otras operaciones de adición, obtención, enumeración de listas.Lista enlazada de listas enlazadas en Java
Respuesta
Puede colocar cualquier objeto en una lista, incluida otra.
LinkedList<LinkedList<YourClass>> list = new LinkedList<LinkedList<YourClass>>();
es un LinkedList
de LinkedList
s de YourClass
objetos. También se puede escribir de una manera simplificada since Java 7:
LinkedList<LinkedList<YourClass>> list = new LinkedList<>();
ejemplos muy sencillos de manipular dicha lista:
A continuación, deberá crear cada sublista, aquí la adición de una sola lista secundaria:
list.add(new LinkedList<YourClass>());
luego crear los objetos de contenido:
list.get(sublistIndex).add(new YourClass());
Luego, puede iterar sobre ella como esta (artículos sublistas se agrupan por sublista):
for(LinkedList<YourClass> sublist : list) {
for(YourClass o : sublist) {
// your code here
}
}
Si desea agregar métodos específicos para esta lista de listas, puede crear una subclase de LinkedList
(o List
, o cualquier otra subclase List
) o puede crear una clase con la lista de listas como un campo y agregar métodos allí para manipular la lista.
y cómo iterar sobre esta lista de lista? – roottraveller
@roottraveller Agregó un ejemplo simple :) Hay muchas maneras en que se puede hacer esto, dependiendo de lo que quiera hacer. – Autar
LinkedList<LinkedList<YourClass>> yourList = new LinkedList<LinkedList<YourClass>>();
Como la declaración. Para añadir otra lista enlazada (hasta el final por defecto) que haría
yourList.add(new LinkedList<YourClass>());
Para añadir un elemento a digamos que la segunda lista enlazada en la serie:
yourList.get(1).add(new YourClass());
Bueno, yo he hecho esto código y lo tengo derecho
java.util.LinkedList mainlist = new java.util.LinkedList();
java.util.LinkedList sublist1 = new java.util.LinkedList();
sublist1.add(object1);
sublist1.add(object2);
sublist1.add(object3);
java.util.LinkedList sublist2=new java.util.LinkedList();
sublist2.add(1);
sublist2.add(2);
mainlist.add(sublist1);
mainlist.add(sublist2);
// To retrieve the sublist1 from mainlist...........
java.util.LinkedList temp = (java.util.LinkedList)mainlist.get(0);
Aquí variables mainlist es Li nkedList de LinkedLists y variables temp contiene el valor de la primera lista almacenada es decir sublist1 ..
Incluso puede simplificar el acceso a las listas secundarias, por ejemplo, utilizando
final List<List<String>> lists = new LinkedList<List<String>>() {
@Override
public List<String> get(final int index) {
while (index >= size()) {
add(new LinkedList<>());
}
return super.get(index);
}
};
Este código agrega automáticamente nuevas LinkedList
s de la lista externa. Con este código, más adelante puede agregar fácilmente valores únicos:
lists.get(2).add("Foo");
- 1. Lista enlazada que contiene otras listas enlazadas y gratuita
- 2. Creación de listas enlazadas en Objective C
- 3. Implementación de listas enlazadas 'multipropósito' en C
- 4. "listas enlazadas" Mathematica y desempeño
- 5. Lista enlazada simultánea sin cerradura en Java
- 6. Lista doblemente enlazada en un lenguaje de programación puramente funcional
- 7. C++ Lista enlazada comportamiento
- 8. Lista enlazada a Java: método de adición
- 9. tratar con gran variedad de lista enlazada
- 10. dividir una lista enlazada en 2 listas pares que contienen los números más pequeños
- 11. Transmisión de lista enlazada multiproceso
- 12. Lista enlazada de Scala stackoverflow
- 13. ¿Python usa listas enlazadas para listas? ¿Por qué la inserción es lenta?
- 14. ¿Por qué es mejor el mergesort para listas enlazadas?
- 15. Lista lineal enlazada: ¿terminología válida/común?
- 16. Hacer que una lista enlazada sea segura
- 17. lista enlazada añadir a la cola, confusión
- 18. Trabajando con una lista de listas en Java
- 19. Comprensión de lista: hacer listas de listas
- 20. ¿Cómo creo una estructura de datos de lista enlazada en Java?
- 21. ¿Hay una biblioteca predefinida de lista enlazada en C++?
- 22. Listas vinculadas recursivas en Java
- 23. Combinar dos listas en tiempo constante en Java
- 24. Java: iterando a través de la lista de listas?
- 25. Codificando una función para copiar una lista enlazada en C++
- 26. Algoritmo de detección de bucle de lista enlazada
- 27. ¿Cómo implementar una lista doblemente enlazada en PHP?
- 28. Creación de un constructor de copia de una lista enlazada
- 29. Java - Objetos "rotativos" en una lista enlazada - ¿LinkedList.addLast (LinkedList.removeFirst()) Programación buena o mala?
- 30. Función de partición de lista enlazada y resultados invertidos
Está bien, si obtengo un código de clase de lista de enlaces definida por el usuario con métodos básicos. Gracias –
No necesita comentar su publicación de esta manera.Puede editar su pregunta original en cualquier momento. – BlackVegetable