我正在尝试简单的链表收集程序,但没有给我输出。 我创造了这个东西
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.
我通过eclipse执行了您的程序:
只需使用LinkedList<Integer>而不是LinkedList。没有警告。
LinkedList<Integer>
输出=>
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)