TreeSet subSet
In this chapter you will learn:
Get the head set and tail set
Since the elements in TreeSet
are sorted we can get a subset
before or after a certain value.
The following methods can return a subset with values less than passed in or with values greater than the passed in value.
SortedSet<E> headSet(E toElement)
Returns a view of the portion of this set whose elements are less than toElement.NavigableSet<E> headSet(E toElement, boolean inclusive)
Returns a view of the portion of this set whose elements are less than (or equal to, if inclusive is true) toElement.SortedSet<E> tailSet(E fromElement)
Returns a view of the portion of this set whose elements are greater than or equal to fromElement.NavigableSet<E>
tailSet(E fromElement, boolean inclusive) returns a view of the portion of this set whose elements are greater than (or equal to, if inclusive is true) fromElement.
import java.util.Arrays;
import java.util.TreeSet;
// j a va 2 s . c o m
public class Main {
public static void main(String args[]) throws Exception {
String elements[] = { "java2s.com", "C", "D", "G", "F" };
TreeSet<String> set = new TreeSet<String>(Arrays.asList(elements));
System.out.println(set.headSet("D"));
System.out.println(set.tailSet("D"));
}
}
The output:
Subset in a range
Other than the head set and tail set we can also get a subset within a range of values.
NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
Returns a view of the portion of this set whose elements range from fromElement to toElement.SortedSet<E> subSet(E fromElement, E toElement)
Returns a view of the portion of this set whose elements range from fromElement, inclusive, to toElement, exclusive.
import java.util.Arrays;
import java.util.TreeSet;
/*from jav a 2 s . c o m*/
public class Main {
public static void main(String args[]) throws Exception {
String elements[] = { "java2s.cm", "C", "D", "G", "F" };
TreeSet<String> set = new TreeSet<String>(Arrays.asList(elements));
System.out.println(set.subSet("C", "F"));
}
}
The output:
Next chapter...
What you will learn in the next chapter: