지도에서 값과 키를 정렬하는 데 문제가 있습니다 (정수 및 문자열).모음 정렬 <V> 및 집합 <K>
public Collection<V> values(){
Collection<V> coll = new LinkedList<V>();
for(int i = 0; i < table.length; i++){
if(table[i] != null){
for(Entry<K, V> nextItem : table[i]){
if(nextItem.value != null){
if(!coll.contains(nextItem.value)){
coll.add(nextItem.value);
}
}
}
}
}
return coll;
}
예상 출력 :
120 123 404 911 999
내 출력 (기본적으로 유지가 맵에 있던 목적지 순서)
911 999 123 120 404
여기 두 방법 값 첫번째 방법이다
위의 메소드는 hashTableChain (배열의 인덱스가 linkedLists 인 hashCode로 정렬 된 배열)에 대해 점 표기법과 함께 사용되며 값 f 또는 주어진지도. Collections.sort (coll)를 사용하여 정렬을 시도했지만 Collection과 호환되지 않는 List가 필요합니다. 이미 정렬되었거나 쉬운 방법으로 정렬 될 수있는 Collection과 호환되는 항목이 있습니까? 키의 방법 :
public Set<K> keySet(){
Set<K> coll = new HashSet<K>();
for(int i = 0; i < table.length; i++){
if(table[i] != null){
for(Entry<K, V> nextItem : table[i]){
coll.add(nextItem.key);
}
}
}
return coll;
}
예상 출력 :
ABC ACTG HTML LOL OMG XYZ
내 출력 (기본적으로지도에 있었던 곳의 순서 유지) : 내가 컬렉션을 시도 다시
XYZ ABC ACTG HTML LOL OMG
.sort (coll)를 사용할 수 없으며 정렬 할 방법을 찾을 수 없습니다.
나는 자바에 대해 상당히 익숙하다. 잠깐 동안 웹을 검색 한 후에 뭔가 물어볼 것이라고 확신한다.
미리 감사 드리며 대단히 감사합니다. 요청에
추가 : 당신이 Collection
이 사건의 List
100 % 될 일이 부르는
private static class Entry<K, V> implements Map.Entry<K, V> {
/** The key */
private K key;
/** The value */
private V value;
/**
* Creates a new key-value pair.
* @param key The key
* @param value The value
*/
public Entry(K key, V value) {
this.key = key;
this.value = value;
}
왜 목록이 컬렉션과 호환되지 않습니까? 목록과 함께 작동해야합니다. 지도에 저장된 값의 데이터 유형은 무엇입니까? – Lokesh
값은 항목으로 만든 연결 목록입니다. List (및 T)을 Collections = new ...와 함께 사용하고 Collections.sort (coll)를 사용했지만 호환되지 않는 오류가 발생했습니다. 나는 컬렉션에 익숙하지 않아서 내가하는 일을 정말로 모르겠습니다. –
Kerher
수업의 회원 선언을 게시 할 수 있습니까? –