`

TreeSet的使用问题

阅读更多

TreeSet可以对集合内的内容进行自然排序,但集合内的内容必须实现Comparable这个接口 ,否则会抛ClassCastException NullPointerException

 

当看一个类的DOC时,千万不能只看它是怎样构建的,还要看它会抛出什么异常,一定要仔细

 

TreeSet

public TreeSet
(Collection
<? extends E
> c)
构造一个包含指定 collection 元素的新 TreeSet,它按照其元素的自然顺序 进行排序。插入该 set 的所有元素都必须实现 Comparable 接口。另外,所有这些元素都必须是可互相比较的 :对于 set 中的任意两个元素 e1e2 ,执行 e1.compareTo(e2) 都不得抛出 ClassCastException

 

参数:
c - 一个 collection,其元素将组成新的 set
抛出:
ClassCastException - 如果 c 中的元素不是 Comparable ,或者是不可相互比较的
NullPointerException - 如果指定 collection 为 null
分享到:
评论

相关推荐

    TreeSet 红黑树结构算法

    TreeSet 的使用场景非常广泛,例如,在数据库查询结果排序、数据分析、缓存系统等领域都可以使用 TreeSet。TreeSet 的优点是它可以快速检索指定节点,并且可以自动排序。然而,TreeSet 也有其缺点,例如,它的插入和...

    java泛型 用了treeset

    使用TreeSet和Comparator,编写TreeSetTest2类,要求对TreeSet中的元素1-元素10进行排列,排序逻辑为奇数在前偶数在后,奇数按照升序排列,偶数按照降序排列。 如果需要的话可以下载,有写成文章的。有写了一点中文...

    javaTreeSet实现图书管理系统

    使用`TreeSet`的`contains()`方法查找特定书籍是否已被借出,如果在持卡人的`TreeSet`中找到,就表示已被借出。遍历持卡人集合,找出借阅过这本书的所有记录。 5. **查询借书卡的借出记录** 遍历持卡人`TreeSet`...

    java 集合框架(TreeSet练习)

    例如,创建`TreeSet`,添加不同类型的数据,比较不同类型的排序,使用比较器,以及如何在实际项目中有效地利用`TreeSet`的功能。学习者将通过这些练习掌握`TreeSet`的使用,并能够灵活地将其应用到自己的代码中。 ...

    HashSet和TreeSet_围墙之外

    1. 存储结构:HashSet使用哈希表,TreeSet使用红黑树。 2. 顺序:HashSet无特定顺序,TreeSet保持排序。 3. 插入、删除和查找效率:HashSet平均O(1),最坏O(n);TreeSet平均O(logn)。 4. 允许的元素:两者都不允许...

    java集合-TreeSet的使用

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

    TreeSet集合用法

    介绍TreeSet集合用法,向TreeSet集合中添加类的对象,此类需实现Comparable接口,有实例,供需要的朋友下载学习。

    用java的TreeSet写的一个求并集算法

    3. **并集操作**:使用`TreeSet`的`addAll()`方法将一个集合的所有元素添加到另一个集合中,这会自动去除重复元素,从而得到并集。 ```java // 将set2的元素合并到set1中,set1现在包含了两个集合的并集 set1....

    HashSet和TreeSet使用方法的区别解析

    HashSet和TreeSet使用方法的区别解析 HashSet和TreeSet都是Java集合框架中的Set接口实现,用于存储不重复的元素。但是,它们在使用方法和实现机理上有很大的区别。 首先,从使用方法上讲,HashSet和TreeSet都可以...

    treeset 和 hashlist 实现的扑克牌游戏

    例如,使用`TreeSet`存储和管理扑克牌,保证其有序和唯一;使用`ArrayList`作为临时容器,用于洗牌或抽取指定数量的牌,因为这些操作在`ArrayList`上执行更快。 在具体实现时,我们可能会创建一个`Card`类表示扑克...

    学生成绩排序(TreeSet方式实现)

    在这个场景下,我们使用`TreeSet`来实现学生成绩的排序,无需额外的排序操作,这大大简化了代码并提高了效率。 首先,我们需要理解`TreeSet`的工作原理。`TreeSet`内部基于红黑树(Red-Black Tree)数据结构,这是...

    排序之HashSet和TreeSet的区别

    在Java编程语言中,集合框架是处理数据的重要组成部分,其中`...同时,源码阅读也是提升技能的好方法,通过查看`HashSet`和`TreeSet`的源码,可以更深入地了解它们的工作原理,这有助于优化代码并解决可能出现的问题。

    treemap treeset hashset hashmap 简要介绍

    在Java编程语言中,集合框架提供了多种数据结构来存储和操作数据,其中`TreeMap`、`TreeSet`、`HashSet`以及`HashMap`是最常用的数据结构之一。这些集合类各自有着独特的特性和应用场景,下面将对它们进行详细介绍。...

    解决TreeSet类的排序问题

    在创建TreeSet时,传入一个实现了`Comparator`接口的实例,这样在进行比较时,就会使用这个Comparator的`compare(Object o1, Object o2)`方法。这允许我们根据特定的逻辑来对集合中的元素进行排序,比如按照年龄、...

    (TreeSet) s.subSet(608, true, 611, true)

    7. **并发考虑**:如果在多线程环境中使用TreeSet,需要使用ConcurrentSkipListSet,因为TreeSet不是线程安全的。 8. **自定义排序**:通过传递Comparator实例给TreeSet构造函数,可以自定义元素的排序方式。 9. *...

    HashSet和TreeSet.doc

    此外,HashSet 不保证线程安全,如果在多线程环境下使用,需要自行处理同步问题。 另一方面,TreeSet 是 SortedSet 接口的实现,它内部使用了红黑树(Red-Black Tree)数据结构,这使得 TreeSet 自动对元素进行了...

    Java SE程序 TreeSet类中自定义CompareTo类

    Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类...

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

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

    TreeSet 不用自然排序自己做比较器

    public int compare(String o1,String o2) { return o1.length()-o2.length();... TreeSet ts = new TreeSet(com); ts.add("string"); ts.add("char"); ts.add("nothing�"); System.out.println(ts);

    尚硅谷-实验:TreeSet的自然排序与定制排序.pdf

    ·拒绝晦涩难懂的呆板教学,宋老师语言生动幽默,举例形象生动深入浅出,迅速让你把握问题本质,四两拨千斤 2.课程内容推陈出新: ·基于JDK 11,将Java8、Java9、Java10、Java11新特性一网打尽 ·课程中,Eclipse...

Global site tag (gtag.js) - Google Analytics