Collection (또는 심지어 Iterable)이 클래스 계약에 따라 주문되었는지 확인하는 방법을 찾고 있습니다.Java Iterable이 계약에 따라 주문되었는지 확인
이미 구아바 메서드를 알고 있습니다. Ordering.natural().isOrdered(myCollection)
그러나이 메서드는 컬렉션 내의 값이 정렬되어 있는지 확인하기 때문에 내 필요와 관련이 없습니다. 즉,하지 내가 결정해야 할 무엇, 내가 무엇을 갖고 싶어하면이처럼 행동하는 isSorted
방법 : 등
isSorted(new HashSet()) -> false
isSorted(new ArrayList()) -> true
...
내가 보통을 선택하여 구현 될 것이라고보고 있어요 컬렉션의 클래스를 만들고, 컬렉션의 상태를 계약하는 콜렉션의 일종의 참조 테이블과 비교하여이 컬렉션에 대해서만 true를 반환합니다.
일부 라이브러리에 이미 이와 같은 것이 있습니까?
'ArrayList'는 정렬되지 않고 정렬됩니다. –
이 클래스 (또는 메소드)는 순서를 알지 못하면 어떻게 알 수 있습니까? 1. 해당 클래스의 JavaDoc 2. 해당 클래스의 소스 코드 (및 분석) 또는 3. 이미 저장된 값의 맵 회원 (새로 정의 된 익명의'Collection'과 잘 작동하지 않을 것입니다)? –
예, "계약서로 주문한 수업의 컬렉션입니까?"라는 의미입니다. 이러한 메소드를 구현하려면 계약에 따라 정렬 된 "신뢰할 수있는"클래스 테이블을 수집하고 해당 클래스에 대해서만 true를 반환합니다 (물론 참조에 포함 된 정확한 메소드를 지정하십시오 테이블을이 "isOrdered"메소드의 계약으로 사용) –