2016-06-21 12 views
0

Ich versuche, die Anzahl der Liste zu erhalten. Ich habe separate Funktion geschrieben, um die Zählung zu erhalten. Wenn ich das in den Hauptbereich bringe, wirft es Fehler. Fehler istDie Methode getCount ist nicht definiert für den Typ LinkedList

getCount ist für Typ LinkedList undefined.

Mein Code ist

import java.util.*; 
import java.util.LinkedList.*; 
public class LengthCount { 
Node head; 
// Insert a new node from the front. 
public void push(int new_data){ 
    Node new_node = new Node(new_data); 
    new_node.next = head; 
    head = new_node; 
} 
// Function for getting count 
public int getCount(){ 
    int count = 0; 
    Node temp = head; 
    while(temp != null){ 
     count++; 
     temp = temp.next; 
    } 
    return count; 
} 
public static void main(String[] args) { 
    LinkedList llist = new LinkedList(); 
    llist.push(1); 
    llist.push(3); 
    llist.push(1); 
    llist.push(2); 
    llist.push(1); 
    System.out.println("Counts of node is : "+llist.getCount()); // Error in this line 

} 

} 

Kann jede Stelle mir bitte

+0

Sie haben diese Methode in Ihrer LengthCount-Klasse definiert. Warum erwarten Sie, dass es in java.util.LinkedList vorhanden ist? – Eran

+0

LinkedList hat keine Memberfunktion getCount() ([API] (https://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html)). – tobi6

+0

getcount ist Benutzer definieren Funktion. Können wir Benutzerdefinitionsfunktion mit Liste aufrufen oder nicht? Vielen Dank!! – David

Antwort

1

Ich denke, Sie versuchen, die Länge der Liste zu bekommen. Dann benutze API. Hier ist Ihr geänderter Code

import java.util.*; 


public class LengthCount { 

    public static void main(String[] args) { 
     LinkedList llist = new LinkedList(); 
     llist.push(1); 
     llist.push(3); 
     llist.push(1); 
     llist.push(2); 
     llist.push(1); 
     System.out.println("Counts of node is : "+llist.size()); 

    }} 
+1

Danke. Das funktioniert – David

2

GetCount helfen ist eine Methode in der Klasse definiert LengthCount. Sie müssen also entweder ein Objekt der Klasse erstellen, um auf die Methode zuzugreifen, oder this.getCount() verwenden.

Sie können nicht verwenden List.getCount() als verknüpfte Liste Klasse hat nicht diese Methode statt, es hat List.size();

+0

Dann gibt es keine Notwendigkeit, verschiedene Funktionen für Push und Count zu schreiben. Wir können direkt von API verwenden, oder? – David

+0

Ja, die API-Methoden liefern optimale Ergebnisse. Wenn Sie überhaupt eine Implementierung ändern müssen, erben Sie die Basislistenklasse und überschreiben ihre Funktionen. – sathya

+2

danke Sthya. Dies wird helfen, mehr zu verstehen LinkedList – David

Verwandte Themen