Java.数据结构.TreeSet

一、什么是TreeSet?

TreeSet是Java集合框架中的一部分,是基于TreeMap实现的。TreeSet保证了集合中的元素按照自然顺序或者通过提供的Comparator进行排序。

二、TreeSet的特点
  1. 有序性:TreeSet会根据元素的自然顺序进行排序,确保集合中的元素总是处于有序状态,和TreeMap一样,我们同样可以通过重写Comparator方法来进行排序。,

  2. 唯一性:TreeSet中的元素是唯一的,不能重复。如果有两个元素相等,则后插入的元素不会出现在集合中。

  3. 效率:TreeSet基于TreeMap实现,其时间复杂度为O(log n)。

三、TreeSet的基本操作

1.添加元素 :使用add(E e)方法。

java 复制代码
TreeSet<Integer> set = new TreeSet<>();  
set.add(1);  
set.add(2);

2.删除元素 :使用remove(Object o)方法。

java 复制代码
set.remove(1); // 删除元素1

3.判断元素是否存在 :使用contains(Object o)方法。

java 复制代码
boolean contains = set.contains(2); // 返回true

4.遍历元素:使用for-each循环。

java 复制代码
for (Integer num : set) {  
    System.out.println(num);  
}
相关推荐
派大鑫wink1 小时前
【Day61】Redis 深入:吃透数据结构、持久化(RDB/AOF)与缓存策略
数据结构·redis·缓存
独处东汉2 小时前
freertos开发空气检测仪之输入子系统结构体设计
数据结构·人工智能·stm32·单片机·嵌入式硬件·算法
放荡不羁的野指针2 小时前
leetcode150题-滑动窗口
数据结构·算法·leetcode
BHXDML2 小时前
数据结构:(一)从内存底层逻辑理解线性表
数据结构
小龙报2 小时前
【C语言进阶数据结构与算法】单链表综合练习:1.删除链表中等于给定值 val 的所有节点 2.反转链表 3.链表中间节点
c语言·开发语言·数据结构·c++·算法·链表·visual studio
Anastasiozzzz3 小时前
LeetCode Hot100 215. 数组中的第K个最大元素
数据结构·算法·leetcode
xuedingbue4 小时前
数据结构与顺序表:高效数据管理秘籍
数据结构·算法·链表
啊阿狸不会拉杆5 小时前
《数字信号处理 》第 7 章-无限长单位冲激响应 (IIR) 数字滤波器设计方法
数据结构·算法·信号处理·数字信号处理·dsp
挽天java6 小时前
数据结构习题--寻找旋转排序数组中的最小值
数据结构·算法·排序算法
sin_hielo7 小时前
leetcode 1984
数据结构·算法·leetcode