|
|
Program: How to get subset from sorted set?
Description: |
To implement your own sorting functionality with TreeSet on user defined objects, you
have to pass Comparator object along with TreeSet constructor call. The Comparator implementation holds the sorting logic. You have to override compare()
method to provide the sorting logic on user defined objects. Now you can get range of object from the treeset by calling
subSet() method.
|
Code: |
package com.java2novice.treeset;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
public class MySetSublist {
public static void main(String a[]){
TreeSet<String> ts = new TreeSet<String>(new MyStrComp());
ts.add("RED");
ts.add("ORANGE");
ts.add("BLUE");
ts.add("GREEN");
ts.add("WHITE");
ts.add("BROWN");
ts.add("YELLOW");
ts.add("BLACK");
System.out.println(ts);
Set<String> subSet = ts.subSet("GREEN", "WHITE");
System.out.println("sub set: "+subSet);
subSet = ts.subSet("GREEN", true, "WHITE", true);
System.out.println("sub set: "+subSet);
subSet = ts.subSet("GREEN", false, "WHITE", true);
System.out.println("sub set: "+subSet);
}
}
class MyStrComp implements Comparator<String>{
@Override
public int compare(String str1, String str2) {
return str1.compareTo(str2);
}
}
|
|
Output: |
[BLACK, BLUE, BROWN, GREEN, ORANGE, RED, WHITE, YELLOW]
sub set: [GREEN, ORANGE, RED]
sub set: [GREEN, ORANGE, RED, WHITE]
sub set: [ORANGE, RED, WHITE]
|
|
|
|
|
List Of All TreeSet Sample Programs:- Basic TreeSet Operations.
- How to create a TreeSet with a List?
- How to read objects from TreeSet using using Iterator?
- Write a program to remove duplicate entries from an array.
- Write a program to find duplicate value from an array.
- How to create a TreeSet with comparator?
- Create TreeSet with comparator by user define objects.
- How to sort a TreeSet with user defined objects?
- How to get subset from sorted set?
- How to get least value element from a set?
- How to get highest value element from a set?
- How to avoid duplicate user defined objects in TreeSet?
|
|
|
String Vs StringBuffer
We know that String is immutable object. We can not change the value
of a String object once it is initiated. If we try to change the value of
the existing String object then it creates new object rather than changing
the value of the existing object. So incase, we are going to do more
modificatios on String, then use StringBuffer. StringBuffer updates the
existing objects value, rather creating new object.
If you don’t make mistakes, you’re not working on hard enough problems. And that’s a big mistake.
-- Frank Wilczek
|