JAVAAPI学习值TreeSet类

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());
        
    }
    
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值