package util;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
/**
*
* @author yjmao
* @deprecated TreeSet的常用方法小结
* @version V1.0.0
* @see 使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序,具体取决于使用的构造方法。
*/
public class LearnTreeSet {
//subSet
//headSet
//tailSet
//comparator()
public static void main(String[] args){
//easyMethod();
//hardMethod();
}
public static void hardMethod(){
TreeSet<String> setA = new TreeSet<String>();
TreeSet<String> setB = new TreeSet<String>();
TreeSet<String> setAll = new TreeSet<String>();
setA.add("aaa");
setA.add("bbb");
setA.add("ccc");
Iterator iteratorA = setA.iterator();
while(iteratorA.hasNext()){
String s = (String) iteratorA.next();
System.err.print(s + ",");
}
System.err.println("\naddAll之后:");
setB.add("ddd");
setB.add("eee");
//addAll():将指定 collection 中的所有元素添加到此 set 中。
setA.addAll(setB);
Iterator iteratorB = setA.iterator();
while(iteratorB.hasNext()){
String s = (String) iteratorB.next();
System.err.print(s + ",");
}
System.err.print("\n返回第一元素:");
//first():返回此 set 中当前第一个(最低)元素。
String f = setA.first();
System.err.println(f);
System.err.print("返回最后一个元素:");
//last():返回此 set 中当前最后一个(最高)元素。
String l = setA.last();
System.err.println(l);
System.err.print("比ccc小的最大元素:");
//lower():返回此 set 中严格小于给定元素的最大元素;如果不存在这样的元素,则返回 null。
String minMax = setA.lower("ccc");
System.err.println(minMax);
System.err.print("比ccc小的最大元素(包括ccc):");
//floor():返回此 set 中小于等于给定元素的最大元素;如果不存在这样的元素,则返回 null。
String maxeMin = setA.floor("ccc");
System.err.println(maxeMin);
System.err.print("比ccc大的最小元素(包括ccc):");
//ceiling():返回此 set 中大于等于给定元素的最小元素;如果不存在这样的元素,则返回 null。
String maxdMin = setA.ceiling("ccc");
System.err.println(maxdMin);
System.err.print("比ccc大的最小元素:");
String maxMin = setA.higher("ccc");
System.err.println(maxMin);
System.err.print("原来SetA的元素:");
Iterator iteratorAA = setA.iterator();
while(iteratorAA.hasNext()){
String s = (String) iteratorAA.next();
System.err.print(s + ",");
}
//pollFirst():获取并移除第一个(最低)元素
String fr = setA.pollFirst();
System.err.println("\n第一个元素:" + fr);
System.err.print("移除第一个元素后SetA的元素:");
Iterator iteratorAR = setA.iterator();
while(iteratorAR.hasNext()){
String s = (String) iteratorAR.next();
System.err.print(s + ",");
}
//pollLast():获取并移除最后一个(最高)元素
String lr = setA.pollLast();
System.err.println("\n最后一个元素:" + lr);
System.err.print("移除最后一个元素后SetA的元素:");
Iterator iteratorAL = setA.iterator();
while(iteratorAL.hasNext()){
String s = (String) iteratorAL.next();
System.err.print(s + ",");
}
}
public static void easyMethod(){
TreeSet<String> set = new TreeSet<String>();
//isEmpty():判断集合是否为空
boolean b = set.isEmpty();
System.err.println("集合是否为空:" + b);
//add():将指定的元素添加到此 set(如果该元素尚未存在于 set 中)。
set.add("aaa");
set.add("ddd");
set.add("bbb");
set.add("ccc");
//size():返回 set 中的元素数(set 的容量)。
System.err.println("集合中元素的个数:" + set.size());
//contains():如果此 set 包含指定的元素,则返回 true
boolean c = set.contains("aaa");
System.err.println("集合中是否包含aaa:" + c);
//iterator():返回在此 set 中的元素上按升序进行迭代的迭代器。(默认为升序排列)
Iterator iterator = set.iterator();
while(iterator.hasNext()){
String s = (String) iterator.next();
System.err.print(s + ",");
}
System.err.println("\n本身自带的集合降序排列");
//descendingIterator():返回在此 set 元素上按降序进行迭代的迭代器。
Iterator iteratorD = set.descendingIterator();
while(iteratorD.hasNext()){
String s = (String) iteratorD.next();
System.err.print(s + ",");
}
System.err.println("\ntreeSet集合降序排列");
Set<String> treeSet = new TreeSet<String>(new Comparator<String>(){
public int compare(String d1,String d2){
return d2.compareTo(d1);
}
});
treeSet.add("aaa");
treeSet.add("bbb");
treeSet.add("ccc");
Iterator iteratorDesc = treeSet.iterator();
while(iteratorDesc.hasNext()){
String s = (String) iteratorDesc.next();
System.err.print(s + ",");
}
System.err.println("\nremove('aaa')后");
//remove():将指定的元素从 set 中移除(如果该元素存在于此 set 中)。
treeSet.remove("aaa");
Iterator iteratorR = treeSet.iterator();
while(iteratorR.hasNext()){
String s = (String) iteratorR.next();
System.err.print(s + ",");
}
//clear():移除此 set 中的所有元素
treeSet.clear();
System.err.println("\ntreeSet是否为空:" + treeSet.isEmpty());
}
}
JAVAAPI学习值TreeSet类
最新推荐文章于 2024-07-04 10:47:37 发布