[英]Linked List of Linked Lists in Java
我想知道如何創建鏈表的鏈表。 此外,如果預定義的LinkedList
(來自Java的類)及其方法用於定義和其他add,get,listIterating操作,將會很有幫助。
您可以將任何對象放入列表中,包括另一個列表。
LinkedList<LinkedList<YourClass>> list = new LinkedList<LinkedList<YourClass>>();
是YourClass
對象的LinkedList
的LinkedList
。 它也可以從Java 7開始以簡化的方式編寫:
LinkedList<LinkedList<YourClass>> list = new LinkedList<>();
操作這樣一個列表的非常簡單的例子:
然后,您需要創建每個子列表,這里添加一個子列表:
list.add(new LinkedList<YourClass>());
然后創建內容對象:
list.get(sublistIndex).add(new YourClass());
然后,您可以像這樣迭代它(子列表的項目按子列表分組):
for(LinkedList<YourClass> sublist : list) {
for(YourClass o : sublist) {
// your code here
}
}
如果要將特定方法添加到此列表列表中,可以創建LinkedList
(或List
,或任何其他List
子類)的子類,或者可以創建一個包含列表列表作為字段的類,並在其中添加方法以進行操作列表。
好吧,我已經完成了這個代碼,我做對了
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);
這里變量mainlist是LinkedLists的LinkedList ,變量temp包含第一個列表存儲的值,即sublist1 ..
您甚至可以簡化對輔助列表的訪問,例如使用
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);
}
};
此代碼自動將新的LinkedList
添加到外部列表中。 使用此代碼,您可以稍后輕松添加單個值:
lists.get(2).add("Foo");
LinkedList<LinkedList<YourClass>> yourList = new LinkedList<LinkedList<YourClass>>();
作為宣言。 要添加另一個鏈接列表(默認情況下結束),您可以這樣做
yourList.add(new LinkedList<YourClass>());
要添加一個元素,讓我們說系列中的第二個鏈表:
yourList.get(1).add(new YourClass());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.