2012-11-15 6 views
0

MyLinkedList 클래스에서 addList라는 메서드를 사용하여 다른 연결된 목록에 연결된 목록을 추가하려고합니다. 내가 갇혀있는 방법은 내가 선택한 인덱스 위치의 다른 연결된 목록에 연결된 목록을 추가 할 수 있도록 메서드를 구현하는 방법입니다.Java의 다른 연결된 목록에 연결된 목록 추가

는 여기에 내가 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); 

"베타"부분에 다음과 같이 표시됩니다.

메서드 addList in MyLinked 지정된 유형에는 목록을 적용 할 수 없습니다. 필요 : INT는 문자열 발견 INT는 MyLinkedList는 이유 : 실제 인수 MyLinkedList이 메소드 호출 변환 에 의해 문자열로 변환 할 수 없습니다 E는 타입 변수 : E는 객체 클래스 MyLinkedList에 선언 확장

어떻게 것 내 메서드를 수정하여 올바르게 사용할 수 있습니까? 미리 감사드립니다 !!

+0

벡터 정의를 추가 할 수 있습니까? – PearsonArtPhoto

+0

거기에 제네릭을 갖기 위해 addList 메소드가 필요하다고 생각합니다 : 'public void addList (int index, E e) {' – Quetzalcoatl

답변

2

addList 메서드 서명이 문제가 있다고 생각됩니다. 처럼이 보일 것입니다 : 당신은 MyLinkedList<String>를 추가하는 방법이 필요

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

. 이럴 경우

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