JAVA 核心笔记 || [xxx] 集合 之 TreeSet

TreeSet

  • TreeSet 中的元素是有序的,
  • 提供有 访问第一个元素, 最后一个元素, 前一个元素, 后一个元素, 截取子集等方法。
  • 添加到TreeSet 中的元素, 必须是实现了 Comparable 接口的(第一个元素除外)

TreeSet 支持两种排序方法

  • 自然排序 [默认]
  • 定制排序

使用

TreeSetLearn.java

import java.util.TreeSet;

public class TreeSetLearn{
    public static void main(String[] args){
        TreeSet ts = new TreeSet<Integer>();
        ts.add(9);
        ts.add(7);
        ts.add(0);
        ts.add(5);
        ts.add(-1);
        //输出 TreeSet元素
        System.out.println( ts );
        //输出集合中的第一个元素
        System.out.println( ts.first() );
        //输出集合中的最后一个元素
        System.out.println( ts.last() );
        //输出小于5的字迹
        System.out.println( ts.headSet(5) );
        // 输出大于 等于 5的子集
        System.out.println( ts.tailSet(5) );


    }
}

输出

[-1, 0, 5, 7, 9]
-1
9
[-1, 0]
[5, 7, 9]

定制排序

  • 定制排序必须在创建 TreeSet 时候 提供 Comparator 对象与 TreeSet 关联, 并且 由 Comparator 对象中的 compare 方法实现排序.

Compare1Learn.java

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

public class Compare1Learn{
    public static void main(String[] args){
        TreeSet ts = new TreeSet( new Comparator() {
            public int compare(Object o1, Object o2){
                int v1 = (int)o1;
                int v2 = (int)o2;
                if(v1 > v2){
                    return -1;
                }
                else if( v1 == v2){
                    return 0;
                }
                else{
                    return 1;
                }

            }
        });

        ts.add(5);
        ts.add(-4);
        ts.add(9);
        ts.add(0);

        System.out.println( ts );

    }
}

输出

[9, 5, 0, -4]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、集合入门总结 集合框架: Java中的集合框架大类可分为Collection和Map;两者的区别: 1、Col...
    程序员欧阳阅读 14,006评论 2 61
  • 你眼角的泪痕, 朵朵盛开, 蝶翼飞起, 我却是步步靠近不了的怯弱没力。 不再分离, 仅仅守城。 只是你我, 已回不...
    阿俊xi阅读 1,630评论 0 2
  • 小区门口,每天都有一对海南夫妻为人们供应椰子。不仅如此,他们还提供往大陆各地邮寄椰子的服务。 上午几个人骑自行车出...
    给小白兔打电话阅读 1,738评论 0 0
  • 体验 不知道曾几何时,悼念名人成为好像变成了一种潮流,感觉自己不悼念一下去世的名人都显自己没有文化(如:今天去世的...
    若兰ZHOU阅读 1,216评论 0 2

友情链接更多精彩内容