TreeSet

TreeSet是一个有序 没有重复元素的Set集合;
TreeSet中key 不能为空,value可以为null
TreeSet具有排序功能,支持2种排序方式: 自然排序或根据创建TreeSet时提供的 Comparator进行排序,取决于使用的构造方法

package com.jihe.Set.TreeSet_;

import java.util.Comparator;
import java.util.TreeSet;

public class TreeSet_01 {
    public static void main(String[] args) {
        TreeSet treeSet = new TreeSet();
        /**  使用无参构造   默认升序输出 */
        treeSet.add("a");
        treeSet.add("b");
        treeSet.add("e");
        treeSet.add("h");
        System.out.println(treeSet);

        /** 还可以  运用  有参构造 */
        TreeSet tree = new TreeSet(new Comparator() { //使用有参构造 传入一个  比较器(匿名内部类)  指定排序规则
            @Override
            public int compare(Object o1, Object o2) {
                return ((String)o2).compareTo((String)o1);
                /** 前者与后者 比较默认 升序  后者与前者比较,则为降序 */
            }
        });

        tree.add("aa");
        tree.add("ab");
        tree.add("ac");
        tree.add("ah");

        System.out.println(tree);

        TreeSet tree1 = new TreeSet(new Comparator() { //使用有参构造 传入一个  比较器(匿名内部类)  指定排序规则
            @Override
            public int compare(Object o1, Object o2) {
                return ((Integer)o2).compareTo((Integer)o1);
                /** 前者与后者 比较默认 升序  后者与前者比较,则为降序 */
            }
        });

        tree1.add(50);
        tree1.add(588);
        tree1.add(23);
        tree1.add(53);
        System.out.println(tree1);
    }

}

posted @ 2023-02-16 19:48  微风抚秀发  阅读(35)  评论(0编辑  收藏  举报