«comparator» 태그된 질문

다른 개체를 비교하는 방법을 지정하는 개체를 만드는 공통 인터페이스입니다. 구현이 많은 질문에이 태그를 사용하는 경우 구현이 작성된 코드 언어에 태그를 지정하십시오.

28
속성별로 사용자 정의 객체의 ArrayList 정렬
Comparator를 사용하여 ArrayLists를 정렬하는 것에 대해 읽었지만 모든 예제에서 사람들이 사용한 compareTo연구에 따르면 Strings에 대한 방법입니다. 속성 중 하나 인 Date 객체 ( getStartDay()) 로 사용자 정의 객체의 ArrayList를 정렬하려고했습니다 . 일반적으로 나는 그것들을 비교하여 item1.getStartDate().before(item2.getStartDate())다음과 같은 것을 쓸 수 있는지 궁금합니다. public class CustomComparator { public boolean compare(Object object1, …
1145 java  sorting  date  comparator 

11
"비교 방법이 일반 계약을 위반합니다!"
누군가가 간단한 용어로 설명 할 수 있습니까? 왜이 코드에서 "비교 방법이 일반 계약을 위반합니다!"라는 예외가 발생합니까? private int compareParents(Foo s1, Foo s2) { if (s1.getParent() == s2) return -1; if (s2.getParent() == s1) return 1; return 0; }
187 java  comparator 

14
Java에서 Comparator를 사용하여 정렬하는 방법
나는 비교기를 사용하는 방법을 배웠지 만 비교기에 어려움을 겪고 있습니다. 내 코드에 오류가 있습니다. Exception in thread "main" java.lang.ClassCastException: New.People cannot be cast to java.lang.Comparable at java.util.Arrays.mergeSort(Unknown Source) at java.util.Arrays.sort(Unknown Source) at java.util.Collections.sort(Unknown Source) at New.TestPeople.main(TestPeople.java:18) 내 코드는 다음과 같습니다. import java.util.Comparator; public class People implements Comparator { private int …
169 java  sorting  comparator 


12
Android-java- 객체 내 특정 값으로 객체 목록을 정렬하는 방법
개체 내의 특정 값으로 개체의 배열 목록을 정렬하려고합니다. 그런 일을하는 가장 좋은 방법은 무엇일까요. 어떤 종류의 비교기와 함께 Collections.sort ()를 사용해야합니까? 변수 중 하나에 포함 된 부동 소수점 값으로 개체 목록을 정렬하려고합니다. 편집 : 이것은 내가 지금까지 가지고있는 것입니다. public class CustomComparator implements Comparator<Marker> { @Override public int compare(Mark o1, …

19
Comparable 및 Comparator를 사용하는 경우
필드에서 정렬해야하는 개체 목록이 있습니다 (예 : Score). 별다른 생각없이 Comparator를 구현하는 새로운 클래스를 작성했습니다. 이제 이것을 돌아 보면 Comparator를 구현하는 새 클래스를 만드는 대신 내 클래스가 Comparable을 구현해야하는지 궁금합니다. 점수는 개체가 정렬되는 유일한 필드입니다. 내가 실천으로 받아 들일 수있는 일을 한 것은 무엇입니까? 올바른 접근 방식은 "먼저 클래스가 Comparable …

9
Javascript의 sort ()는 어떻게 작동합니까?
다음 코드는이 배열을 숫자 순서로 어떻게 정렬합니까? var array=[25, 8, 7, 41] array.sort(function(a,b){ return a - b }) 계산 결과가 ... Less than 0 : "a"가 "b"보다 낮은 인덱스로 정렬됩니다. 0 : "a"와 "b"는 동일한 것으로 간주되며 정렬이 수행되지 않습니다. 0보다 큼 : "b"가 "a"보다 낮은 인덱스로 정렬됩니다. 정렬 과정에서 …

4
Java 8 Comparator 유형 추론에 의해 매우 혼동 됨
특히 정적 메서드 사용과 람다 식에 매개 변수 형식이 필요한지 여부와 관련하여 Collections.sort및 의 차이점을 살펴 보았습니다 . 시작하기 전에, 예 를 들어 내 문제를 극복하기 위해 메소드 참조를 사용할 수 있다는 것을 알고 있지만 여기에서 내 쿼리는 수정하고 싶은 것이 아니라 대답을 원하는 것입니다. 즉, Java 컴파일러가 이러한 방식으로 …

10
Java 오류 : 비교 방법이 일반 계약을 위반 함
이것에 대한 많은 질문을보고 문제를 해결하려고 노력했지만 한 시간 동안 인터넷 검색과 많은 시행 착오 끝에 여전히 고칠 수 없습니다. 여러분 중 일부가 문제를 파악하기를 바랍니다. 이것이 내가 얻는 것입니다. java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:835) at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:453) at java.util.ComparableTimSort.mergeForceCollapse(ComparableTimSort.java:392) at java.util.ComparableTimSort.sort(ComparableTimSort.java:191) at java.util.ComparableTimSort.sort(ComparableTimSort.java:146) at java.util.Arrays.sort(Arrays.java:472) at …

1
커스텀 비교기를 사용하여 TreeSet에서 제거하지 않는 이유는 무엇입니까?
Java 8과 Java 11을 모두 사용 TreeSet하여 String::compareToIgnoreCase비교기를 사용 하여 다음 을 고려하십시오 . final Set<String> languages = new TreeSet<>(String::compareToIgnoreCase); languages.add("java"); languages.add("c++"); languages.add("python"); System.out.println(languages); // [c++, java, python] 에있는 정확한 요소를 제거하려고 TreeSet하면 작동합니다. 지정된 모든 요소 가 제거됩니다. languages.removeAll(Arrays.asList("PYTHON", "C++")); System.out.println(languages); // [java] 내가 대신 제거하려고하는 경우에는 더 에 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.