TreeSet的使用

TreeSet的基本使用 文章目录前言一、TreeSet的使用二、解法要求1.输入格式2.输出格式2.输入样例2.输出样例实现代码如下: 前言 Set类是继承Collection接口,Set类存储的元素,是无序,不重复的,比如Hashset类,但TreeSet 是一个排好序的集合类,默认情况下 存储的元素值不同,所以可以用TreeSet类对象在添加数据后 实现元素排序,同时去掉重复元素 只保留一个元素。如果元素对象没法比较大小,元素对应的类需要实现Comparable接口 一、TreeSet的使用 示例:Set类是继承Col. 阅读详情
package com.akaiqi.chun.collection;

import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.TreeSet;

/**
 * TreeSet
 *
 * @author akaiqi
 * @date 2019/11/4 20:11
 */
public class TreeSetTest {

    /**
     * 4种构造器
     * add:添加一个元素
     * addAll:添加多个元素
     */
    private static void test1() {
        TreeSet<Integer> treeSet1 = new TreeSet<>();
        treeSet1.add(1);
        treeSet1.forEach(System.out::print);//1

        System.out.println("\n");
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 4, 5);
        TreeSet<Integer> treeSet2 = new TreeSet<>(list);
        treeSet2.forEach(System.out::print);//123456

        System.out.println("\n");
        TreeSet<Integer> treeSet3 = new TreeSet<>((Comparator.reverseOrder()));
        treeSet3.addAll(list);
        treeSet3.forEach(System.out::print);//654321

        System.out.println("\n");
        TreeSet<Integer> treeSet4 = new TreeSet<>(treeSet3);
        treeSet4.addAll(list);
        treeSet4.forEach(System.out::print);//654321
    }

    /**
     * ceiling(E e) : 返回此集合中最小元素大于或等于给定元素
     * first() :返回此集合中当前的第一个(最低)元素。
     * floor(E e):返回此集合中最大的元素小于或等于给定元素
     * last():最后一个元素
     * <p>
     * higher(E e) : 返回严格大于给定元素的该集合中的最小元素,没有返回null
     * lower(E e) 返回这个集合中最大的元素严格小于给定的元素,如果没有这样的元素,则返回 null 。
     */
    private static void test2() {
        List<Integer> list = Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7);
        TreeSet<Integer> treeSet = new TreeSet<>(list);
        System.out.println(treeSet.ceiling(3));//3

        System.out.println(treeSet.first());//0
        System.out.println(treeSet.floor(3));//3

        System.out.println(treeSet.last());//7

        System.out.println(treeSet.higher(7));//null
        System.out.println(treeSet.higher(6));//7

        System.out.println(treeSet.lower(0));//null
        System.out.println(treeSet.lower(1));//0
    }

    /**
     * 删除
     * remove(Object o) 从该集合中删除指定的元素
     * pollFirst() 检索并删除最后一个(最高)元素,如果此集合为空,则返回 null 。
     * pollLast() 检索并删除最后一个(最高)元素,如果此集合为空,则返回 null 。
     *
     * clear() :删除所有
     */
    private static void test3() {
        List<Integer> list = Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7);
        TreeSet<Integer> treeSet = new TreeSet<>(list);

        System.out.println(treeSet.remove(0));//true
        treeSet.forEach(System.out::print);//1234567
        System.out.println("\n");

        System.out.println(treeSet.pollFirst());//1
        treeSet.forEach(System.out::print);//234567
        System.out.println("\n");

        System.out.println(treeSet.pollLast());//7
        treeSet.forEach(System.out::print);//23456
        System.out.println("\n");

        treeSet.clear();
    }

    /**
     * 截取部分
     *subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
     *  返回该集合的部分的视图,其元素的范围从 fromElement到 toElement 。
     *
     *  subSet(E fromElement, E toElement) :(a,b)
     *
     *  tailSet(E fromElement) [a,tail]
     *
     *  tailSet(E fromElement, boolean inclusive)
     */
    private static void test4() {
        List<Integer> list = Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7);
        TreeSet<Integer> treeSet = new TreeSet<>(list);

        System.out.println(treeSet.subSet(1,true,6,true));//[1, 2, 3, 4, 5, 6]

        System.out.println(treeSet.subSet(2,5));//[2, 3, 4]

        System.out.println(treeSet.tailSet(2));//[2, 3, 4, 5, 6, 7]
    }


    public static void main(String[] args) {
        test4();
    }
}

安卓无障碍服务保活实战:如何用AccessibilityService实现后台常驻(附完整代码) 本文深入解析如何利用Android无障碍服务(AccessibilityService)实现后台服务保活,涵盖多版本系统适配、前台服务集成、开机自启机制等关键技术。通过详细的Kotlin代码示例和合规性指导,帮助开发者构建稳定可靠的后台服务解决方案,同时避免因滥用无障碍服务导致的应用下架风险。 阅读详情

相关推荐

【Ultrascale+ MPSOC学习记录】6、从eMMC启动翻车

因为MPSOC还有一种启动模式是eMMC,接下来咱就实现从eMMC启动。

ryo891012的博客 474

java lower_Java TreeSet lower()用法及代码示例

Java中TreeSet类的lower(E ele)方法用于返回此集合中最大的元素,该元素严格小于给定的元素。如果此TreeSet集合中不存在这样的元素,则此方法返回NULL。在此,E是此集合维护的元素的类型。句法:public E lower(E ele)参数:它只需要一个参数ele。基于此元素,可以确定集合中严格小于该最大值的最大值。返回值:它返回类型E的值为null或必需的值。异常:Clas...

weixin_35690047的博客 991

STM32F103C8T6通过ESP8266连接阿里云物联网平台(附代码)

STM32F103C8T6连接阿里云物联网平台(1)—阿里云lot Studio控制 Web开发 分享一下自己使用stm32f103c8t6通过ESP_01模块连接阿里云物联网平台,实现温湿度上传和控制命令下达的过程,能力有限,用的是最简单的方法,如有错误,多多担待。 一、硬件选型 1、 stm32f103c8t6 2、ESP_01 wifi模块 3、其他 二、硬件连接 WSP_01 STM32F103C8T6 RXD PA2 TXD PA3 RES PA4 VCC 3.3

weixin_A13253323604 3万+

treeset java_Java TreeSet pollLast()方法与示例

treeset java TreeSet类pollLast()方法 (TreeSet Class pollLast() method) pollLast() method is available in java.util package. pollLast()方法在java.util包中可用。 pollLast() method is used to return the last highes...

cumtb2002的博客 599

从零理解Brep:用Python玩转3D建模的边界表示法(附OpenCASCADE示例)

本文深入解析了边界表示法(Brep)在3D建模中的应用,通过Python和OpenCASCADE的实战示例,详细介绍了Brep的核心数据结构、布尔运算、网格转换及3D打印优化技巧。适合CAD设计、3D打印和计算机图形学领域的开发者学习与实践。

n4o5p6q7r的博客 424

用易经智慧看懂人工智能:64卦中的科技密码--当古老智慧遇见未来科技

在人工智能狂飙突进的今天,我们总在追问:这些代码构建的智能究竟会带人类走向何方?或许答案早已藏在《周易》的六十四卦中——这本中华文明的“源代码”,正用一种跨越时空的语言,悄悄解释着最前沿的科技秘密。

weixin_38410320的博客 2081

treeset java_Java TreeSet lower()方法与示例

treeset java TreeSet类lower()方法 (TreeSet Class lower() method) lower() method is available in java.util package. lower()方法在java.util包中可用。 lower() method is used to return the largest element in this Tr...

cumtv80668的专栏 1409

拯救者Y9000P 2022双系统实战:Ubuntu22.04分区优化与驱动避坑指南

本文提供联想拯救者Y9000P 2022款安装Ubuntu 22.04双系统的详细实战指南。重点讲解针对该机型的磁盘分区优化方案、NVIDIA显卡驱动安装避坑技巧,以及安装后的网络、时间同步等必备配置,帮助用户高效完成双系统部署并提升使用体验。

weixin_29208327的博客 421

java 的tree_Java TreeSet higher()方法

Java TreeSet higher()方法java.util.TreeSet.higher() 方法用于从集合中返回指定元素中最接近的最大元素,如果没有,则返回null。1 语法public E higher(E e)2 参数返回大于e的最小元素;如果没有这样的元素,则返回null。3 返回值返回true。4 示例package com.yiidian;/*** 一点教程网: http://w...

weixin_32389853的博客 620

CKS-CN考试之路----04

根据上面信息我们知道,这个pod运行在default命名空间下,pod名字为cpu-77cd5ddcbf-bvb8w。可以从/etc/falco/falco_rules.yaml中获得相关内容,大概在文件的460行左右.编辑/etc/falco/falco_rules.local.yaml。7c688a8bfd69即是我们想要获得的docker id。将行为不当 Pod 的 Deployment 缩放为零副本。根据我们刚才定义的rule生成报告。访问/dev/mem 的 Pod。那么如果考试记不住怎么办?

Q先生 599

在 SAP 中实现“租赁资产”管理,核心是把 IFRS16/ASC842 等新租赁准则的要求落地到系统

摘要:本文详细介绍了在SAP S/4HANA系统中实现IFRS16/ASC842租赁准则的具体操作流程。主要内容包括:1) 系统前置配置,如激活租赁会计组件、定义租赁类型和会计科目;2) 租赁合同创建与主数据维护;3) 初始确认的会计处理;4) 日常折旧计提和租金支付流程;5) 合同变更与终止管理。通过RE-FX-LM模块与固定资产模块的集成,系统可自动生成使用权资产和租赁负债,支持从合同创建到报表披露的全生命周期管理,确保符合新租赁准则要求。

金牌架构师 983

Java基础知识之TreeSet的使用

Java基础知识之TreeSet的使用

qq_45344586的博客 4669

【OpenClaw从入门到精通】第35篇:电商“龙虾”掘金记——用OpenClaw实现小红书/抖音/淘宝全自动矩阵运营(2026实测版)

2026年,OpenClaw智能体已成为电商运营的“效率革命工具”,其多平台自动化能力让单人可完成传统3-5人的工作量。本文基于真实商业案例(来源:海报新闻、阿里云开发者社区等),系统拆解OpenClaw在小红书、抖音、淘宝的全链路运营方案:从阿里云部署搭建基础环境,到三大平台核心技能安装配置,再到跨平台矩阵工作流落地;同时揭秘代部署、模板售卖、轻定制、内容套利四大变现模式,并详解Token成本控制、安全风险规避等关键问题。文中所有代码均经过2026年3月实测验证,提供完整可复现的技术方案,帮助读者快速搭建

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2029

TreeSet的使用方法总结、实现原理、使用示例

HashMap的使用方法总结、实现原理、使用示例

一点光辉的博客 2万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java TreeSet的使用

java TreeSet的使用 2011-06-07 19:34 /*   TreeSet:它可以给Set集合中的元素进行指定方式的排序。         保证元素唯一性的方式:通过比较的结果是否为0.         底层数据结构是:二叉树。 */     import java.util.*;     class TreeSetDemo2

you_off3的专栏 4万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

TreeSet集合的使用

一、TreeSet的原理 TreeSet会对集合里的元素按照指定的顺序进行排序,它的底层数据结构依据的是红-黑二叉树, 1.1什么是红-黑二叉树? 就是二叉树的每个结点的左右孩子结点的值具有一定规律,即“左小右大” 1.2根据什么确定集合里元素的唯一性? 因为TreeSet会对集合里的元素进行指定顺序的排序,...

毛毛雨的博客 990

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

TreeSet的使用和底层原理

TreeSet的使用和底层原理TreeSet的底层TreeSet和Comparable接口的使用Comparable接口的实现TreeSet的使用使用TreeSet的要点 TreeSet的底层 TreeSet底层实际是用TreeMap实现的,内部维持了一个简化版的TreeMap,通过key来存储Set的元素。 TreeSet内部需要对存储的元素进行排序,因此,我们对应的类需要实现Comparable接口。这样,才能根据compareTo()方法比较对象之间的大小,才能进行内部排序。 TreeSet和Comp

weixin_45208757的博客 2111

Java TreeSet的使用

Java TreeSet的使用 Comparable和Comparator的区别 :https://www.cnblogs.com/szlbm/p/5504634.html 参考博客:https://www.cnblogs.com/yzssoft/p/7127894.html 使用详解 import java.util.Comparator; import java.util.TreeSet; ...

Confused_Tom_Cat的博客 589

TreeSet()原理及使用

1、TreeSet()是使用二叉树的原理对新add()的对象按照指定的顺序排序(升序、降序),每增加一个对象都会进行排序,将对象插入的二叉树指定的位置。 2、Integer和String对象都可以进行默认的TreeSet排序,而自定义类的对象是不可以的,自己定义的类必须实现Comparable接口,并且覆写相应的compareTo()函数,才可以正常使用。 3、在覆写compare()函数时,

蜕变的快乐 1万+

TreeSet的使用及原理

TreeSet的使用及原理

qq_51387138的博客 808

使用TreeSet

使用TreeSet必须传入比较器方法,常见有两种方式: 1.实现Comparable接口中compareTo方法 例:                /**main**/ TreeSet set=new TreeSet(); //若想添加Person元素信息,需要让Person类实现Comparable接口 set.add(new Person("Lambo",18));

bz747105456的博客 231
上一篇: Java8的Date和LocalDateTime互相转换
下一篇: JSON.parseArray解析失败: expect '[', but float, pos 4, line 1, column 53.80
_睶_
博客等级 码龄10年 1685粉丝 204原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值