LinkedLists中的Java LinkedLists - 访问项目

时间:2015-04-25 08:34:27

标签: java linked-list

至少对我来说,大学要做的事情很棘手。 我必须在其他LinkedLists的保存位置创建一个LinkedList。

在这些Linkedlists中保存了文本模式,我想用特定命令更改它们。但是,我不知道如何访问这些LinkedListes。如果我使用.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]

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

您必须根据通用编程概念

执行此操作
  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));