문자열의 ArrayList를 정렬하기 위해 사용자 지정 비교자를 만들었습니다. 내가 디버거를 통해 그것을 실행하고 그것을 비교하고 정확하게 값을 반환 봤어. 그러나 배열이 정렬되지 않습니다. Java & Android를 처음 접했기 때문에 계속 진행될 수 있습니다.사용자 지정 비교기를 사용하여 컬렉션 정렬이 작동하지 않습니다.
몇 시간 동안보고 난 후에 나는 무엇을 알아낼 수 없다. 그리고이 사이트를 사용하여 많은 다른 질문에 대답 해 왔기 때문에 나는 어디로 올지 알았다!
Collections.sort(allWords, new Comparator<String>(){
public int compare(String o1, String o2) {
scoreWord sc1 = new scoreWord((String)o1);
scoreWord sc2 = new scoreWord((String)o2);
int i1 = sc1.getScore();
int i2 = sc2.getScore();
if (i1 > i2)
return 1;
return 0;
}
public boolean equals(String o1, String o2) {
scoreWord sc1 = new scoreWord((String)o1);
scoreWord sc2 = new scoreWord((String)o2);
int i1 = sc1.getScore();
int i2 = sc2.getScore();
if (i1 == i2)
return true;
return false;
}
});
어떤 이유로 'equals (String o1, String o2)'메소드가 필요합니까? – home
'compare (Object o1, Object o2) '와'equals (Object o1, Object o2) '를 시도하십시오. –