2012-10-11 3 views
0

DictEntry라는 별도의 클래스가 있습니다. 내 자신의 클래스 사전에서, 나는 이미 왜 여전히 부울 요구되는 입력 DictEntry로 배열과 연결리스트를 선언 한유형 Miss-Match Java

private LinkedList<DictEntry> dictList = new LinkedList<DictEntry>(); //initiate linked list 
private int sizeOfArray; //variable for size of Array [must be prime number] 
private DictEntry table[] = new DictEntry[sizeOfArray]; // array of type DictEntry 
table[keyCode]= dictList.add(pair); //[ERROR] Type MissMatch, Cannot Convert boolean to type DictEntry 

있나요?

문자열로 LinkedList를 선언하고 .add()를 사용하여 문자열을 추가해도 아무런 문제가 없습니다.

아이디어가 있으십니까?

답변

4

그래 ... LinkedList.addboolean (항상 true)을 반환합니다. 유형이 일치하지 않으므로 해당 반환 값을 배열에 할당 할 수 없습니다.

dictList.add(pair); 
table[keyCode] = pair; 

: 아마도 당신이 원하는 ... 당신이 그래도 할을 하려는지 명확하지 않다?

문자열로 LinkedList를 선언하고 .add()를 사용하여 문자열을 추가해도 아무런 문제가 없습니다.

그것의 전혀 분명이 의미하는,하지만 당신은 단지 String에 코드에서 DictEntry의 모든 발생을 변경하는 경우, 당신은 정확히 같은 문제가 얻을 것이 무엇.

+0

내가하려고하는 것은 개체의 여러 인스턴스가 배열의 동일한 인덱스를 차지할 때 충돌 문제를 해결하기 위해 별도의 연결을 사용하는 것입니다. 그 배열이 링크 된리스트의 시작점을 가리키는 방법이 있기 때문에 같은 줄에 그 이유가 있습니다. – user1234440

+0

@ user1234440 : 여러 가지면에서 당신의 의견은 매우 불분명합니다. 두 개의 별도 컬렉션 (배열 및 링크 된 목록)이 필요합니까? 불행히도 여기에 컨텍스트를 부여하지 않으므로 근본적인 문제를 해결할 수는 없습니다. 단 발췌 한 것뿐입니다. (메서드 호출과 배열 할당을 같은 문장에 넣는다고해서 원자 적으로되지는 않습니다 ...) –

1
table[keyCode] = /*...*/ 

오른쪽의 값은 DictEntry이어야합니다.

/*...*/ = dictList.add(pair) 

add()의 리턴 값은 성공 또는 실패를 나타내는 부울 값이다. (연결된 목록의 경우 항상 그렇습니다.)