简体   繁体   English

如何使用java.util.ListIterator输出保存对象的Linked List?

[英]How do I output Linked List which holds objects using java.util.ListIterator?

Hi I got this problem with I am not sure how to deal with... I have a Linked List which stores Objects which works fine. 嗨,我遇到了这个问题我不知道如何处理...我有一个链接列表存储对象工作正常。 But now I am trying to display the content of the linked list using iterator and I understand that wont be as simple as 但现在我试图使用迭代器显示链表的内容,我明白不会那么简单

ListIterator<String> iterator = LibraryUser.listIterator();  


iterator = LibraryUser.listIterator();
while (iterator.hasNext())
 System.out.println(iterator.next());

because of the type... Is there way to do this ? 因为类型......有没有办法做到这一点?

OH RIGHT! 啊对! I need to override toString don't i... 我需要覆盖toString不要我...

If all you know is that LibraryUser contains instances of Object (that is, you don't know that they are String instances), you can use: 如果你知道的是LibraryUser包含Object实例(也就是说,你不知道它们是String实例),你可以使用:

ListIterator<Object> iterator = LibraryUser.listIterator();
while (iterator.hasNext()) {
    System.out.println(String.valueOf(iterator.next()));
}

or, more simply: 或者,更简单地说:

for (Object item : theList) {
    System.out.println(String.valueOf(item));
}

your code should work fine: 你的代码应该工作正常:

LinkedList<String> l = new LinkedList<>();
        l.add("aaa");
        l.add("sdjs");
        ListIterator<String> itr = l.listIterator();
        while(itr.hasNext()){
            System.out.println(itr.next());
        }

above code prints: 上面的代码打印:

aaa AAA
sdjs sdjs

Another approach would be to consider using the enhanced for-loop. 另一种方法是考虑使用增强的for循环。 Something like: 就像是:

LinkedList<Object> list = new LinkedList<Object>();
list.add("abc");
list.add("def");
for(Object element: list){
    System.out.println(element);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM