首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中链表的链表

Java中链表的链表
EN

Stack Overflow用户
提问于 2012-06-15 20:11:37
回答 4查看 22.8K关注 0票数 8

我想知道如何创建链表的链表。此外,如果预定义的LinkedList (来自Java的类)及其方法用于定义和其他add、get、listIterating操作,也会很有帮助。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-06-15 20:13:06

您可以将任何对象放入列表中,包括另一个列表。

代码语言:javascript
复制
LinkedList<LinkedList<YourClass>> list = new LinkedList<LinkedList<YourClass>>();

YourClass对象的LinkedList%s的LinkedList。它也可以以一种简化的方式编写since Java 7

代码语言:javascript
复制
LinkedList<LinkedList<YourClass>> list = new LinkedList<>();

操作此类列表的非常简单的示例:

然后,您需要创建每个子列表,在这里添加一个子列表:

代码语言:javascript
复制
list.add(new LinkedList<YourClass>());

然后创建content对象:

代码语言:javascript
复制
list.get(sublistIndex).add(new YourClass());

然后,您可以像这样迭代它(子列表的项按子列表分组):

代码语言:javascript
复制
for(LinkedList<YourClass> sublist : list) {
    for(YourClass o : sublist) {
        // your code here
    }
}

如果要将特定方法添加到此列表列表中,可以创建LinkedList的子类(或List或任何其他List子类),也可以创建一个将列表列表作为字段的类,并在其中添加操作列表的方法。

票数 25
EN

Stack Overflow用户

发布于 2012-06-17 01:56:22

好的,我已经完成了这段代码,并且我得到了正确的结果

代码语言:javascript
复制
          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);

其中变量mainlistLinkedList of LinkedLists,变量temp包含存储的第一个列表的值,即sublist1

票数 2
EN

Stack Overflow用户

发布于 2016-10-29 20:24:07

您甚至可以简化对辅助列表的访问,例如使用

代码语言:javascript
复制
    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添加到外部列表中。使用此代码,您以后可以轻松地添加单个值:

代码语言:javascript
复制
lists.get(2).add("Foo");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11050407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档