Vorrei sapere come creare un elenco collegato di elenchi collegati. Inoltre, sarebbe utile se il predefinito LinkedList
(classe da Java) e i suoi metodi sono utilizzati per la definizione e per altre operazioni add, get, listIterating.Elenco collegato di elenchi collegati in Java
risposta
È possibile inserire qualsiasi oggetto in un elenco, incluso un altro elenco.
LinkedList<LinkedList<YourClass>> list = new LinkedList<LinkedList<YourClass>>();
è una LinkedList
di LinkedList
s di YourClass
oggetti. Può anche essere scritta in modo semplificato since Java 7:
LinkedList<LinkedList<YourClass>> list = new LinkedList<>();
molto semplici esempi di manipolazione di una tale lista:
È quindi necessario creare ogni sottoelenco, qui l'aggiunta di un unico elenco secondario:
list.add(new LinkedList<YourClass>());
quindi creare gli oggetti di contenuto:
list.get(sublistIndex).add(new YourClass());
È quindi possibile scorrere su di esso come questo (voci sottoliste sono raggruppati per sottolista):
for(LinkedList<YourClass> sublist : list) {
for(YourClass o : sublist) {
// your code here
}
}
Se si desidera aggiungere metodi specifici per questa lista di liste, è possibile creare una sottoclasse di LinkedList
(o List
o qualsiasi altra sottoclasse List
oppure è possibile creare una classe con l'elenco di elenchi come campo e aggiungere metodi per manipolare l'elenco.
e come iterare su questo elenco di lista ?? – roottraveller
@roottraveller Aggiunto un semplice esempio :) Ci sono molti modi in cui ciò può essere fatto, a seconda di cosa si vuole fare. – Autar
LinkedList<LinkedList<YourClass>> yourList = new LinkedList<LinkedList<YourClass>>();
Come la dichiarazione. Per aggiungere un altro lista collegata (alla fine per impostazione predefinita) si farebbe
yourList.add(new LinkedList<YourClass>());
Per aggiungere un elemento al diciamo la seconda lista collegata in serie:
yourList.get(1).add(new YourClass());
Bene ho fatto questo codice e ho capito bene
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);
Qui variabile mainlist è Li nkedList di LinkedLists e variabile temperatura contiene il valore del primo elenco memorizzato cioè sublist1 ..
Si può anche semplificare l'accesso alle liste secondarie, per esempio utilizzando
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);
}
};
Questo codice aggiunge automaticamente i nuovi LinkedList
s alla lista esterna. Con questo codice è possibile aggiungere facilmente singoli valori:
lists.get(2).add("Foo");
- 1. Esiste una libreria predefinita di elenchi collegati in C++?
- 2. Alberi: elenchi collegati vs matrici (efficienza)
- 3. Ordinamento di un elenco collegato in Java
- 4. Lancio di un elenco collegato di eccezioni in Java
- 5. Doppi elenchi collegati in C++
- 6. java - iterando un elenco collegato
- 7. Perché implementare un elenco immutabile come elenco collegato?
- 8. Elenco collegato contenente altri elenchi concatenati e gratuito
- 9. Il vettore è un caso speciale di elenchi collegati?
- 10. Come vengono implementati gli elenchi collegati senza l'uso del puntatore?
- 11. Usi elenchi collegati, elenchi collegati doppiamente e così via, nella programmazione aziendale?
- 12. Esiste una libreria predefinita di elenchi collegati in Python?
- 13. Come utilizzare due diversi iteratori su un elenco collegato in Java?
- 14. confronto di elenchi Scala con elenchi Java
- 15. elenco concomitante collegato
- 16. Ordinamento di un elenco collegato in C
- 17. Elenco collegato di base in C
- 18. StackOverflow elenco collegato Scala
- 19. Java: Applicazione di oggetti doppiamente collegati
- 20. elenco collegato php spl o personalizzato?
- 21. Elenco di elenchi di binding in XAML?
- 22. Individuazione del nodo intersecante da due elenchi collegati intersecanti
- 23. Converti un elenco di elenchi in un elenco di interi
- 24. Elenco di elenchi vs dizionario
- 25. Quali sono gli esempi reali di quando devono essere utilizzati gli elenchi collegati?
- 26. Elenco di elenchi in serie numpy
- 27. Accesso all'elemento in un elenco di elenchi
- 28. Trovare la corruzione in un elenco collegato
- 29. Ricerca di un'implementazione di hashtable di array (vs elenco collegato) in C
- 30. Algoritmo di rilevamento loop elenco collegato
È anche ok, se ottengo il codice della classe di elenco collegato definito dall'utente con i metodi di base. Grazie –
Non hai bisogno di commentare il tuo post in questo modo.Puoi modificare la tua domanda originale in qualsiasi momento. – BlackVegetable