Skip to content

Files

Latest commit

 

History

History

Day_54_SortedSetInterface

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Java SortedSet Interface

In Java, the SortedSet interface is a subtype of the Set interface that represents a set of elements sorted in a specific order. It extends the Set interface and adds methods for handling sorted sets. SortedSet is implemented by classes like TreeSet and is part of the Java Collections Framework. Here are some key characteristics and methods of the SortedSet interface:

  1. Ordering: A SortedSet maintains its elements in a specific order defined by a comparator or the natural ordering of the elements. This ordering allows for efficient retrieval of elements in sorted order.

  2. Duplicates: Like the Set interface, a SortedSet does not allow duplicate elements. If you try to add a duplicate element, it won't be stored.

  3. Comparator: You can specify a custom comparator to define the sorting order of elements in the SortedSet. If you don't provide a comparator, the natural ordering of elements (if they implement the Comparable interface) will be used.

  4. Methods: Some of the important methods provided by the SortedSet interface include:

    • comparator(): Returns the comparator used to order elements in the set or null if natural ordering is used.
    • first(): Returns the first (lowest) element in the set.
    • last(): Returns the last (highest) element in the set.
    • headSet(toElement): Returns a view of the portion of the set that is strictly less than toElement.
    • tailSet(fromElement): Returns a view of the portion of the set that is greater than or equal to fromElement.
    • subSet(fromElement, toElement): Returns a view of the portion of the set that is greater than or equal to fromElement and strictly less than toElement.

Here's an example of how to use the SortedSet interface with a TreeSet:

import java.util.SortedSet;
import java.util.TreeSet;

public class SortedSetExample {
    public static void main(String[] args) {
        // Creating a SortedSet (TreeSet) of integers
        SortedSet<Integer> sortedSet = new TreeSet<>();

        // Adding elements
        sortedSet.add(5);
        sortedSet.add(2);
        sortedSet.add(8);
        sortedSet.add(1);

        // Printing the sorted set
        System.out.println(sortedSet); // Output: [1, 2, 5, 8]

        // Using methods of the SortedSet interface
        System.out.println("First element: " + sortedSet.first()); // Output: 1
        System.out.println("Last element: " + sortedSet.last());   // Output: 8

        // Subsetting the set
        SortedSet<Integer> subset = sortedSet.subSet(2, 5); // [2, 5]
        System.out.println("Subset: " + subset);
    }
}

In this example, we create a TreeSet, which implements the SortedSet interface, and add integers to it. The elements are automatically sorted in ascending order, and we can use methods like first() and last() to retrieve the first and last elements or subSet() to get a subset of elements within a specified range.