TreeSet subSet

In this chapter you will learn:

  1. Get the head set and tail set from a TreeSet
  2. How to get a range of value from a TreeSet

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:

  1. What is NavigableSet and how to use NavigableSet
Home » Java Tutorial » Set
HashSet
HashSet element adding
HashSet element removing and clearing
HashSet clone
HashSet iterator
HashSet properties
TreeSet
TreeSet elements adding
TreeSet subSet
NavigableSet
LinkedHashSet