`

Java中的集合-TreeSet

阅读更多
一、TreeSet介绍
  1、用于对元素排序的有序集合类,集合中的元素是自然排序的,也不能有重复的元素
  2、通过实现Comparable接口来完成对元素的排序。该接口中定义了int compareTo(To o)方法

示例代码:

import java.util.TreeSet;
import java.util.Iterator;

public class TreeSetTest{

public static void main(String[] args){
TreeSet<String> ts = new TreeSet<String>();
ts.add("red");
ts.add("green");
ts.add("yellow");
ts.add("red");
System.out.println("size:"+ts.size());
Iterator it = ts.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
System.out.println("first:"+ts.first());
System.out.println("last:"+ts.last());

System.out.println("subset:"+ts.subSet("green","yellow"));
//System.out.println("subset2:"+ts.subSet("red","green"));
ts.remove("green");
System.out.println("removed size:"+ts.size());

ts.clear();
System.out.println("cleared size:"+ts.size());
}
}

执行结果:

size:3
green
red
yellow
first:green
last:yellow
subset:[green, red]
removed size:2
cleared size:0

如果将上面的注释部分放开,执行的时候会抛出IllegalArgumentException:
因为TreeSet是按自然顺序排序的,所以要保证fromKey < toKey。这里red>green,所以不可以。

注意:subSet方法返回的元素从fromKey开始,到toKey的前一个元素结束(不包括toKey)

size:3
green
red
yellow
first:green
last:yellow
subset:[green, red]
Exception in thread "main" java.lang.IllegalArgumentException: fromKey > toKey
        at java.util.TreeMap$NavigableSubMap.<init>(TreeMap.java:1240)
        at java.util.TreeMap$AscendingSubMap.<init>(TreeMap.java:1677)
        at java.util.TreeMap.subMap(TreeMap.java:862)
        at java.util.TreeSet.subSet(TreeSet.java:308)
        at java.util.TreeSet.subSet(TreeSet.java:344)
        at TreeSetTest.main(TreeSetTest.java:21)
分享到:
评论

相关推荐

    java集合-TreeSet的使用

    TreeSet 是 Java 中的一个集合类,它实现了 SortedSet 接口,并且使用红黑树作为底层数据结构。TreeSet 具有以下主要特点: 排序性:TreeSet 中的元素是有序的,默认按照元素的自然顺序进行排序。或者,可以在创建 ...

    Java数据结构--13.Java8数据结构TreeSet.pdf

    在Java集合框架中,TreeSet是一个重要的数据结构,它是Set接口的实现类之一,与HashSet和LinkedHashSet不同,TreeSet具有排序功能,这是因为其不仅继承自AbstractSet,还实现了SortedSet和NavigableSet接口。...

    java-集合-知识点汇总

    Java集合是Java语言中的一种数据结构,用于存储和操作数据。Java集合的知识点汇总将会涵盖Java集合的基本概念、类型、实现、操作和注意事项等方面。 Java集合的基本概念 Java集合是Java语言中的一种数据结构,用于...

    java基础 集合-21-对象的一对多与多对多

    在Java编程语言中,集合框架是处理对象数组的...总之,理解和熟练掌握Java集合框架中的对象关系处理是成为一名优秀Java开发者的关键技能之一。通过本课程的学习,你可以深化对这些概念的理解,提升你的编程实践能力。

    java 集合框架(TreeSet练习)

    在Java集合框架中,`TreeSet`是一个有序、不可重复的集合,它基于红黑树(Red-Black Tree)数据结构实现。`TreeSet`在许多场景下比其他集合如`ArrayList`或`HashSet`更有优势,因为它的元素总是按特定顺序排列,并且...

    计算机后端-Java-Java核心基础-第24章 集合01 26. TreeSet的定制排序.avi

    计算机后端-Java-Java核心基础-第24章 集合01 26. TreeSet的定制排序.avi

    计算机后端-Java-Java核心基础-第24章 集合01 25. TreeSet的自然排序.avi

    计算机后端-Java-Java核心基础-第24章 集合01 25. TreeSet的自然排序.avi

    计算机后端-Java-Java核心基础-第25章 集合02 05. TreeSet的课后练习.avi

    计算机后端-Java-Java核心基础-第25章 集合02 05. TreeSet的课后练习.avi

    【死磕Java集合】-集合源码分析.pdf

    Java集合框架是Java语言中一个非常重要的组件,提供了多种数据结构和算法来存储和操作数据。在Java集合框架中,LinkedList、ArrayList、HashMap、TreeMap等都是非常常用的数据结构。本文将对Java集合框架的源码进行...

    关于java基础集合-定义及练习资料

    Java集合框架是Java编程语言中的一个核心特性,它为存储、管理和操作对象提供了一组高效且灵活的数据结构。本资料主要关注Java集合的基础定义以及相关的练习,帮助开发者深入理解和掌握这些概念。 首先,我们来详细...

    Java-Interview-超全集合github上评分最高的jiva面试题

    通过学习和复习这些知识点,并结合"Java-Interview-超全集合github上评分最高的jiva面试题"中的题目进行实战演练,可以有效地提升Java开发者在面试中的竞争力,为成功获得理想职位打下坚实基础。在面试准备过程中,...

    Java-Java集合体系-List-Set

    Java集合体系是Java编程中非常核心的部分,涵盖了用于存储和操作数据的各种数据结构。在Java中,集合主要分为三大接口:List、Set和Map。这些接口各有特点,适用于不同的应用场景。 一、List接口 List接口是单列...

    Java + 集合 + TreeSet +定制排序

    Java是全球排名第一的编程语言,Java工程师也是市场需求最大的软件工程师。 从互联网到企业平台,Java是应用最广泛的编程语言. Java是基于JVM虚拟机的跨平台语言,一次编写,到处运行; Java程序易于编写,而且有...

    Java基础----集合类汇总

    Java集合框架还包含了一些工具类,如Collections和Arrays,它们提供了各种实用方法,如排序、复制、反转和查找集合中的特定元素。此外,Set和List接口都有一个叫做CopyOnWriteArrayList和CopyOnWriteArraySet的特殊...

    精通java集合框架--List,Set..

    ### 精通Java集合框架——List, Set, Map #### 概述 Java集合框架是一种高度抽象且灵活的数据组织工具,它通过一系列接口来定义不同类型的数据容器,并提供了丰富的操作这些容器的方法。本文将深入探讨Java集合...

    2JAVA编程高级-集合类.pdf

    泛型是Java集合框架中的一个重要特性,它允许编译器检查类型安全,并且所有的强制转换都是自动和隐式的,提高了代码的重用率和类型安全性。 **泛型的基本用法**: ```java List&lt;String&gt; stringList = new ...

    Java源码分析:集合-容器.pdf

    Java集合框架是Java编程语言中非常重要的组成部分,它为Java开发者提供了大量用于存储数据的结构。Java集合框架主要包括两大类,单列集合和双列集合。单列集合中,Set接口的集合主要用于存储不重复的元素,而List...

    java中关于集合的操作

    在Java编程语言中,集合框架是处理对象组的重要工具,它提供了一种高效、灵活的方式来存储和操作数据。本文将深入探讨Java中的集合操作,并结合PPT(虽然这里没有提供具体的PPT内容,但通常这样的资源会包含示例、...

    2024年java面试题-java集合相关面试题

    以上总结了Java集合的基础概念、特点、分类及其具体实现方式,这对于理解Java集合框架的基本原理及其在实际开发中的应用至关重要。希望这些知识点能帮助你在面试中更好地应对关于Java集合的问题。

    day18-集合-中(HashSet&TreeSet&比较器).zip

    总结一下,`HashSet`和`TreeSet`是Java集合框架中两种重要的无序集合实现,它们各有特点。`HashSet`基于哈希表,提供了快速的插入、删除和查找,而`TreeSet`则保证元素的排序,适用于需要排序的场景。`Comparator`...

Global site tag (gtag.js) - Google Analytics