I think the SortedSet is a NavigableSet , which in turn has methods like subSet , tailSet , headSet , ceiling and floor for such problems.
So you can do something like:
SortedSet<Integer> set = new TreeSet<>(Arrays.asList(0,1,2,3,4,5,6,7,8,9)); SortedSet<Integer> subset = set.subSet(3,7); System.out.println(subset);
Obviously, you can create a TreeSet with any Comparator you want and search in the order that TreeSet you TreeSet .
Comparator<Integer> reverse = Collections.reverseOrder(); SortedSet<Integer> set = new TreeSet<>(reverse);
source share