小编典典

试图通过java实现LinkedList的概念,但是在编译时却给出错误?

java

我正在尝试简单的链表收集程序,但没有给我输出。
我创造了这个东西

import java.lang.*;  
import java.util.*;

class Linkedlist  
{  
    public static void main (String [] args)  
    {  
        LinkedList ll=new LinkedList ();  
        System.out.println ("CONTENTS OF l1 = "+ll);  
        System.out.println ("SIZE = "+ll.size ());  
        ll.add (new Integer (10));  
        ll.add (new Integer (20));  
        ll.add (new Integer (30));  
        ll.add (new Integer (40));  
        System.out.println ("CONTENTS OF ll = "+ll);  
        System.out.println ("SIZE = "+ll.size ());

        // retrieving data of ll using toArray ()  
        Object obj []=ll.toArray ();  
        int s=0;

        for (int i=0; i<obj.length; i++)  
        {  
            Integer io= (Integer) obj [i];  
            int x=io.intValue ();  
            s=s+x;  
        }

        System.out.println ("SUM USING toArray () = "+s);  
        ll.addFirst (new Integer (5));  
        ll.addFirst (new Integer (6));  
        System.out.println ("CONTENTS OF ll = "+ll);  
        System.out.println ("SIZE = "+ll.size ());

        // retrieving data of ll using iterator ()  
        Iterator itr=ll.iterator ();  
        int s1=0;

        while (itr.hasNext ())  
        {  
            Object obj1=itr.next ();  
            Integer io1= (Integer) obj1;  
            int x1=io1.intValue ();  
            s1=s1+x1;  
        }

        System.out.println ("SUM USING iterator () = "+s1);  
        ListIterator litr=ll.listIterator ();

        while (litr.hasNext ())  
        {  
            Object obj2=litr.next ();  
            System.out.print (obj2+",");  
        }

        System.out.println ("\n");

        while (litr.hasPrevious ())  
        {  
            Object obj3=litr.next ();  
            System.out.print (obj3+",");  
        }

        System.out.println ("\n");  
        Object obj4=ll.get (2);// random retrieval  
        System.out.println (obj4);  
    }  
}

输出是

Note: Linkedlist.java uses unchecked or unsafe operations.  
Note: Recompile with -Xlint:unchecked for details.

阅读 186

收藏
2020-11-30

共1个答案

小编典典

我通过eclipse执行了您的程序:

只需使用LinkedList<Integer>而不是LinkedList。没有警告。

输出=>

CONTENTS OF l1 = []
SIZE = 0
CONTENTS OF ll = [10, 20, 30, 40]
SIZE = 4
SUM USING toArray () = 100
CONTENTS OF ll = [6, 5, 10, 20, 30, 40]
SIZE = 6
SUM USING iterator () = 111
6,5,10,20,30,40,

Exception in thread "main" java.util.NoSuchElementException
    at java.util.LinkedList$ListItr.next(Unknown Source)
    at com.Linkedlist.main(Test.java:46)
2020-11-30