`
cakin24
  • 浏览: 1388934 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

强大的排序集合类TreeSet

    博客分类:
  • java
阅读更多

一 TreeSet概述

TreeSet是SortedSet接口的实现类,正如SortedSet名字所暗示的,TreeSet可以确保集合元素处于排序状态。

 

二 TreeSet提供的重要方法

  • Object first():返回集合中的第一个元素。
  • Object last():返回集合中的最末一个元素。
  • Object lower(Object e):返回集合中位于指定元素之前的元素(即小于指定元素的最大元素,参考元素不需要是TreeSet的元素)。
  • Object higher(Object e):返回集合中位于指定元素之后的元素(即大于指定元素的最小元素,参考元素不需要是TreeSet的元素)。
  • SortedSet subSet(fromElement, toElement):返回此Set的子集合,范围从fromElement(包含)到toElement(不包含)。
  • SortedSet headSet(toElement):返回此Set的子集,由小于toElement的元素组成。
  • SortedSet tailSet(fromElement):返回此Set的子集,由大于或等于fromElement的元素组成。

三 代码示例

import java.util.*;

public class TreeSetTest
{
	public static void main(String[] args)
	{
		TreeSet nums = new TreeSet();
		// 向TreeSet中添加四个Integer对象
		nums.add(5);
		nums.add(2);
		nums.add(10);
		nums.add(-9);
		// 输出集合元素,看到集合元素已经处于排序状态
		System.out.println(nums);
		// 输出集合里的第一个元素
		System.out.println(nums.first()); // 输出-9
		// 输出集合里的最后一个元素
		System.out.println(nums.last());  // 输出10
		// 返回小于4的子集,不包含4
		System.out.println(nums.headSet(4)); // 输出[-9, 2]
		// 返回大于5的子集,如果Set中包含5,子集中还包含5
		System.out.println(nums.tailSet(5)); // 输出 [5, 10]
		// 返回大于等于-3,小于4的子集。
		System.out.println(nums.subSet(-3 , 4)); // 输出[2]
	}
}

 

四 运行结果

[-9, 2, 5, 10]
-9
10
[-9, 2]
[5, 10]
[2]

 

五 代码说明

根据运行结果,TreeSet并不是根据元素插入顺序进行排序,而是根据元素实际值的大小进行排序。

0
0
分享到:
评论

相关推荐

    Java集合排序及java集合类详解.pdf

    ### Java集合排序及Java集合类详解 #### 一、集合框架概述 集合框架是Java编程语言的核心组件之一,用于组织和操作数据集。Java集合框架提供了多种数据结构,包括列表(List)、集(Set)和映射(Map),这些数据结构...

    解决TreeSet类的排序问题

    总的来说,TreeSet是一个强大的有序集合工具,它可以根据元素的自然顺序或自定义的比较规则进行排序,使得数据在存储和检索时具有良好的性能和结构。在使用过程中,确保正确实现`Comparable`接口或`Comparator`,以...

    细说Java之常用集合类.rar

    本文将深入探讨Java中的常用集合类,包括ArrayList、LinkedList、HashSet、HashMap等,以及它们的特点、用途和实现原理。 首先,我们从ArrayList说起。ArrayList是基于数组实现的集合类,它提供了动态数组的功能,...

    Java集合排序及java集合类详解(Collection、List、Map、Set

    Java集合排序及java集合类详解 Java集合框架是Java编程语言中极其重要的一部分,它提供了存储和操作数据的高效方式。本文将深入探讨Java集合框架的四大核心组件:`Collection`、`List`、`Map`和`Set`,以及它们的...

    java中的集合类总结

    Java中的集合类是Java编程语言中非常核心的一部分,它们提供了存储和操作对象的灵活方式,尤其是在处理动态数据或不确定数量的数据时。以下是对标题和描述中提到的Java集合类的详细总结: 首先,所有Java集合类都...

    Java集合类详解总结

    - `TreeSet`:基于红黑树实现,自动排序,线程不安全。 - `LinkedHashSet`:维护了元素的插入顺序,线程不安全。 #### Map接口 `Map`是一种键值对映射的集合,不允许键重复,主要实现类有: - `HashMap`:基于哈希...

    java 集合类 容器类

    ### Java集合类与容器类详解 #### 一、引言 ...通过以上详细介绍和示例代码,我们可以看到Java集合类的强大功能和灵活性。了解这些集合类的基本概念和使用方法对于开发高效稳定的Java应用程序至关重要。

    浅谈java中的TreeMap 排序与TreeSet 排序

    在Java编程语言中,`TreeMap` 和 `TreeSet` 是两种基于红黑树数据结构实现的集合类,它们都提供了自动排序的功能。本文将详细探讨 `TreeMap` 和 `TreeSet` 的排序机制以及如何自定义排序规则。 首先,`TreeMap` 是...

    Java集合详解,详细讲解java的集合类

    本文将深入讲解Java集合类,特别是Collection接口和其下的List、Set,以及Map接口中的几个重要实现类。 首先,我们来看Collection接口。Collection是最基本的集合接口,它代表一组Object,即它的元素。Collection...

    java中常用集合类和接口.doc

    ### Java中常用集合类和接口...Java中的集合类为开发者提供了强大而灵活的数据管理手段。理解各种集合类的特点和适用场景对于提高代码质量和性能具有重要意义。希望本文能够帮助大家更好地掌握Java集合类的使用技巧。

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

    总之,Java8的TreeSet结合SortedSet和NavigableSet接口,提供了强大的有序集合操作能力,是开发者在处理需要排序和导航功能的集合数据时的重要工具。理解并熟练掌握其用法,能够显著提升代码的质量和效率。

    (zz)java集合类总结

    ### Java集合类总结 在Java开发中,集合类(Containers)是极其重要的组成部分,它们作为开发者日常编程不可或缺的工具,不仅让代码变得更加简洁、高效,还能显著提升程序的功能性和灵活性。本文将对Java标准类库中...

    Java集合排序及java集合类详解(Collection、List、Map、Set)讲解.pdf

    在Java编程语言中,集合框架是核心部分,它提供了数据存储和操作的强大工具。本文将深入探讨Java集合框架,包括Collection、List、Set和Map四大接口,以及它们的实现原理和排序方法。 **1. 集合框架概述** 集合...

    java高级集合类

    在Java编程语言中,集合类框架(Collections Framework)提供了处理数据的强大工具。本篇文章将详细介绍三种主要的集合类型:`List`、`Set` 和 `Map` 的特性、区别及联系。 #### 二、`List` 集合 **特点**: - ...

    Java集合类层次结构

    Java集合类层次结构是Java编程语言中用于存储和管理对象的核心框架。这个层次结构由多个接口和类组成,为开发者提供了灵活且强大的数据结构选择。理解这个层次结构对于编写高效、可维护的Java代码至关重要。 在Java...

    Java基础入门教程 含习题 第07章 集合类(共60页).pptx

    本教程主要涵盖了Java基础入门的第7章——集合类,内容包括常用集合类、迭代器的使用、foreach循环、泛型以及Collections和Arrays工具。 首先,我们来看集合概述。集合是Java中的一个重要概念,它可以存储任意数量...

    java集合类学习与实例

    Java集合框架是Java编程语言中一个至关重要的组件,它为数据存储和操作提供了丰富的接口和类。...理解和熟练使用这些集合类和接口,能显著提高代码的可读性和效率。在实际编程中,应根据具体需求选择最适合的集合类型。

    Java数据结构及集合类.doc

    `Collection`是最基础的接口,所有集合类的父接口;`List`接口是有序的集合,允许有重复元素,如`ArrayList`和`LinkedList`;`Set`接口则不允许有重复元素,如`HashSet`和`SortedSet`(有序的Set,如`TreeSet`);`...

    java 集合源码学习,jdk1.8集合类所有的源码讲解

    本篇文章将深入探讨这些集合类的源码,揭示其内部实现机制。 首先,我们来看`List`接口,它代表了有序的元素集合,允许有重复元素。`ArrayList`和`LinkedList`是`List`接口的主要实现。`ArrayList`基于动态数组实现...

Global site tag (gtag.js) - Google Analytics