簡體   English   中英

將鏈接列表添加到Java中的另一個鏈接列表

[英]Add a linked list to another linked list in java

我試圖使用MyLinkedList類中稱為addList的方法將鏈表添加到另一個鏈表。 我所堅持的是如何實現該方法,以便可以將鏈表添加到所選索引位置的另一個鏈表中。

這是MyLinkedList中的內容:

public void addList(int index, E e){
    if(index == 0){
        addFirst(e);
    } else if (index >= size){
        addLast(e);
    }
    else{
        Node<E> current = head;
        for(int i = 1; i < index; i++){
            current = current.next;
        }
        Node<E> temp = current.next;
        current.next = new Node<E>(e);
        (current.next).next = temp;
        size++;
    }
}

我知道這種方法行不通,我已經嘗試過了。 在我的程序中,我有以下這些:

public class linkedlistwork {

    public static void main(String[] args) {
        MyLinkedList<String> alpha = new MyLinkedList<String>();
        alpha.add("hello");
        alpha.add("world");
        alpha.add("this");

        System.out.println(alpha);

        MyLinkedList<String> beta = new MyLinkedList<String>();
        beta.add("is");
        beta.add("java");
        beta.add("rocks");

        System.out.println(beta);

        alpha.addList(1, beta);
        System.out.println(alpha);
    }
}

正確的輸出如下所示:

OUTPUT:
[hello, is, java, rocks, world, this]

我的程序無法運行,此行發生錯誤

alpha.addList(1, beta);

在“測試版”部分,它說:

類MyLinkedList中的addList方法不能應用於給定類型; 必需:int,找到的字符串:int,MyLinkedList原因:實際參數MyLinkedList無法通過方法調用轉換(其中E是類型變量)轉換為String:E擴展了在類MyLinkedList中聲明的對象

我該如何解決我的方法,以便可以正確使用它? 提前致謝!!

在我看來,您的addList方法簽名是問題所在。 它應該看起來像:

public void addList(int index, List<E> list)

您需要一種添加MyLinkedList<String> 這樣的事情會做

public void addList(int index, MyLinkedList<E> beta){
//Somehow loop through the MyLinkedList, and do this.
   add(index+i,beta(i));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM