2012-09-20 49 views
0

我要添加使用链表接口的多个元素.....我的代码是:LinkedList的接口的实现

import java.util.*; 

public class LList 
{ 
     public static void main(String[] args) 
     { 
      Node node; 

      Random rand = new Random(); 
      int Threshold = 10; 
      long P,D,Du; 

      LinkedList<Node> ll = new LinkedList<Node>(); 


      for(int i =1;i<=Threshold;i++) 
      { 
       Calendar c = new GregorianCalendar(); 
       long m = c.get(GregorianCalendar.SECOND); 
       Du = rand.nextInt(4); 
       P = rand.nextInt(10)+1; 
       D = Period + m; 
        node = new Node("T"+i, m, Du, P, D); 
          ll.add(node) 
       System.out.println("The content of linklist is: " + ll); 
       System.out.println("The size of linklist is: " + ll.size()); 
     } 



     } 
    } 

//节点类

import java.util.LinkedList; 


public class Node extends LinkedList 
{ 

    long du; 
    long p,Arr,d; 
    String task; 
    Node next; 

    public Node(String Task,long arr,long dur, long per,long d1) 
    { 
     task=Task; 
     Arr = arr; 
     du = dur; 
     p = per; 
     d = dl; 
    } 

    public void displayNode() 
    { 
      System.out.print(task+","+Arr+","+du+","+p+","+d+"\n"); 

    } 

} 

OUTPUT:

链表的内容为:[[],[],[],[],[],[],[],[],[],[]] 链表的大小为:10

它没有显示值......我实现这个接口是否错误?

+0

你预期输出是什么? – Fildor

+0

你想达到什么目的? –

+0

你使用调试并试图遵循代码? –

回答

5

您的列表不显示的原因是您没有重写Node类中的toString()接口。

我也想知道您是否意识到您的Node类的每个实例实际上都是一个列表。所以每个实例都有一堆元素,一些数据字段和另一个节点的链接。如果你真的想从头开始实现链表,你可能不应该延伸LinkedList

+1

他没有,但是Node扩展了LinkedList,这样做。我没有得到,为什么Node首先扩展LinkedList。 – Fildor

+0

@Fildor - 我意识到这一点。他想知道为什么他的名单没有像他预期的那样显示......我的回答给出了原因。其余的,我认为他只是犯了一个错误。 –

+0

你是完全正确的。并不意味着无礼,只是想添加信息。 :) – Fildor

1

Node是列表的元素。它不需要延长LinkedList。此外,重写toString类别Node而不是使用diaplayNode

+0

删除扩展后的输出是链表的内容是:[Node @ 190d11,Node @ a90653,Node @ de6ced,Node @ c17164,Node @ 1fb8ee3,Node @ 61de33,Node @ 14318bb,Node @ ca0b6,Node @ 10b30a7,Node @ 1a758cb] 链接列表的大小是:10 – Rashmi

+0

我想输出像:: [[T1 2 4 3 5],[T2 3 5 6 9]] ...我希望你现在都明白了我的问题 – Rashmi

+0

只需将您的displayNode()方法更改为''public String toString()'',而不是写入System.out而是返回该字符串。 – Fildor