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);  
}
相关推荐
蚊子码农7 小时前
算法题解记录--239滑动窗口最大值
数据结构·算法
额,不知道写啥。9 小时前
HAO的线段树(中(上))
数据结构·c++·算法
blackicexs9 小时前
第五周第七天
数据结构·算法
夏乌_Wx10 小时前
反转链表:三种实现思路与细节梳理
数据结构·链表
紫陌涵光11 小时前
108.将有序数组转换为二叉搜索树
数据结构·算法·leetcode
载数而行52012 小时前
算法系列2之最短路径
c语言·数据结构·c++·算法·贪心算法
fu的博客12 小时前
【数据结构10】满/完全二叉树、顺序/链式存储
数据结构·
逆境不可逃13 小时前
【除夕篇】LeetCode 热题 100 之 189.轮转数组
java·数据结构·算法·链表
wefg113 小时前
【算法】倍增思想(快速幂)
数据结构·c++·算法
Zik----13 小时前
Leetcode24 —— 两两交换链表中的节点(迭代法)
数据结构·算法·链表