Java TreeSet headSet()方法及实例
TreeSet是Java中SortedSet接口的一个最重要的实现,它使用Tree进行存储。无论是否提供显式比较器,元素的排序都由一个集合使用其自然排序来维护。如果要正确实现Set接口,这必须与equals一致。
在 java.util 包中的TreeSet类的headSet()方法被用作树形集合的极限设置器,以排序的方式返回在该方法的参数中定义的极限以内的元素,但不包括该元素。
语法
head_set = (TreeSet)tree_set.headSet(Object element)
参数: 参数element是树集的类型,是头点,是树被允许返回值的极限,不包括element本身。
返回值: 该方法以排序的方式返回严格小于参数中提到的元素的那部分值。
现在我们将讨论在TreeSet类中实现headSet()方法的不同情况。
- 案例1: 在一个排序的TreeSet中
- 案例2-A: 在一个未排序的TreeSet中
- 案例2-B: 在一个未排序的TreeSet中,但有字符串类型的元素。
例子1 :
// Java program to Illustrate headSet() method
// of TreeSet class In a sorted TreeSet
// Importing required classes
import java.io.*;
import java.util.Iterator;
import java.util.TreeSet;
// Main class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating an empty TreeSet by
// declaring object of TreeSet class
TreeSet<Integer> tree_set = new TreeSet<Integer>();
// Adding the elements
// using add() method
tree_set.add(1);
tree_set.add(2);
tree_set.add(3);
tree_set.add(4);
tree_set.add(5);
tree_set.add(10);
tree_set.add(20);
tree_set.add(30);
tree_set.add(40);
tree_set.add(50);
// Creating the headSet tree
TreeSet<Integer> head_set = new TreeSet<Integer>();
// Limiting the values till 5
head_set = (TreeSet<Integer>)tree_set.headSet(30);
// Creating an Iterator
Iterator iterate;
iterate = head_set.iterator();
// Displaying the tree set data
System.out.println(
"The resultant values till head set: ");
// Holds true till there is single element
// remaining in the object
while (iterate.hasNext()) {
// Iterating through the headSet
// using next() method
System.out.println(iterate.next() + " ");
}
}
}
输出
The resultant values till head set:
1
2
3
4
5
10
20
例2-A 。
// Java Program to illustrate headSet() method
// of TreeSet class In an unsorted TreeSet
// Importing required classes
import java.io.*;
import java.util.Iterator;
import java.util.TreeSet;
// Main class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating an empty TreeSet
TreeSet<Integer> tree_set = new TreeSet<Integer>();
// Adding the elements
// using add() method
tree_set.add(9);
tree_set.add(2);
tree_set.add(100);
tree_set.add(40);
tree_set.add(50);
tree_set.add(10);
tree_set.add(20);
tree_set.add(30);
tree_set.add(15);
tree_set.add(16);
// Creating the headSet tree
TreeSet<Integer> head_set = new TreeSet<Integer>();
// Limiting the values till 5
head_set = (TreeSet<Integer>)tree_set.headSet(30);
// Creating an Iterator
Iterator iterate;
iterate = head_set.iterator();
// Displaying the tree set data
System.out.println("The resultant values till head set: ");
// Iterating through the headSet
while (iterate.hasNext()) {
// Printing the elements
System.out.println(iterate.next() + " ");
}
}
}
输出
The resultant values till head set:
2
9
10
15
16
20
例2-B 。
// Java code to illustrate headSet() method of TreeSet class
// In an unsorted treeset but with String type elements
// Importing required classes
import java.io.*;
import java.util.Iterator;
import java.util.TreeSet;
// Main class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating an empty TreeSet
TreeSet<String> tree_set = new TreeSet<String>();
// Adding the elements using add()
tree_set.add("Welcome");
tree_set.add("To");
tree_set.add("Geek");
tree_set.add("4");
tree_set.add("Geeks");
tree_set.add("TreeSet");
// Creating the headSet tree
TreeSet<String> head_set = new TreeSet<String>();
// Limiting the values till 5
head_set = (TreeSet<String>)tree_set.headSet("To");
// Creating an Iterator
Iterator iterate;
iterate = head_set.iterator();
// Displaying the tree set data
System.out.println(
"The resultant values till head set: ");
// Iterating through the headSet
while (iterate.hasNext()) {
// Printing elements using next() method
System.out.println(iterate.next() + " ");
}
}
}
输出
The resultant values till head set:
4
Geek
Geeks
极客教程