나는 SortedSet의 세트 독점 꼬리를 싶어. 내가 가지고 올 수있는 가장 짧은 방법은 다음과 같습니다는 어떻게 된 SortedSet의 독점 tailSet로받을 수 있나요?
private void exclusiveTailSet(SortedSet<String> s, String start) {
System.out.println(s); // [Five, Four, One, Six, Start, Three, Two]
SortedSet<String> t = s.tailSet(start);
System.out.println(t); // [Start, Three, Two]
Iterator<String> i = t.iterator();
i.next();
SortedSet<String> u = t.tailSet(i.next());
System.out.println(u); // [Three, Two]
}
javadoc for tailSet은 (s.tailSet(start+"\0");
를 호출 문자열에 대한 예) 도메인의 다음 요소부터 하위 집합을 요청하는 제안 그러나 실제로 객체 등이 함께 일하고 있어요 그것을 만드는 데 더 많은 오버 헤드가 필요할 것입니다.
독점 꼬리 세트를 만들 수있는 효율적이고 깨끗한 일반적인 방법은 무엇입니까?
감사합니다! 그러면 더 나은 방법을 찾으려고하지 않을 것입니다.일반적인 방법이 좋았고 새로운 세트't'를 정의 할 필요가 없다는 것을 눈치 채지 못했습니다. – tttppp
또한'NoSuchElementException'에 try catch 블록을 추가하여이 경우 빈 TreeSet을 반환합니다. – tttppp
예. 그 경우도 내 마음을 쳤다. 좋은 해결책 ... 실제로, 빈 테일 세트를 반환해야한다. (반환 된 세트가 주어진 세트에 의해 뒷받침되어야하는 다른 구현과 일관되게). – aioobe