Java 链表中的链表 - 访问项目

Java LinkedLists in LinkedLists - Access items

至少对我来说,大学里有一件棘手的事情要做。 我必须在保存其他 LinkedList 的地方创建一个 LinkedList。

在这些链表中保存的是文本模式,我想用特定的命令来改变它们。但是,我不知道如何访问这些 LinkedList。如果我使用 .get,我只会收到保存的 LinkedList 作为对象。我发现无法读取保存在此对象或更早的 LinkedList 中的项目。

LinkedList listrows = new LinkedList();
LinkedList listcolumn1 = new LinkedList();
LinkedList listcolumn2 = new LinkedList();

listcolumn1.add("test");
listcolumn1.add("test");
listcolumn2.add("hello");
listcolumn2.add("hello");

listrows.add(listcolumn1);
listrows.add(listcolumn2);

//here is my problem now, I cannot save it as a LinkedList
//because linkedlist is giving back an object
LinkedList listedit= new LinkedList();
listedit=listrows.get(0) //<-error

//If I use syso, only the object name is printed
System.out.println(listrows.get(0)) //Printed e.g.: [Ljava.lang.String;@55f96302]

提前感谢您的帮助!

您应该声明您需要的确切类型:

LinkedList<LinkedList<String>> listrows = new LinkedList<>();
LinkedList<String> listcolumn1 = new LinkedList<>();
LinkedList<String> listcolumn2 = new LinkedList<>();

然后:

LinkedList<String> listedit = listrows.get(0);

您的问题是您使用了原始 LinkedList 类型,因此 listrows.get(0) 返回了 Object 类型的实例而不是内部 LinkedList.

您必须根据通用编程概念来执行此操作,

  LinkedList<String> lt1=new LinkedList<String>();
        LinkedList<String> lt2=new LinkedList<String>();
        LinkedList< LinkedList<String>> lt=new LinkedList< LinkedList<String>>();

        lt1.add("One");
        lt1.add("Two");
        lt1.add("Three");

        lt2.add("A");
        lt2.add("B");
        lt2.add("C");

        lt.add(lt1);
        lt.add(lt2);

        System.out.println(""+lt.get(0));