TreeSet:二叉树数据结构,线程不安全,可以对Set集合中的元素进行排序,并且使用compareTo或者compare方法中的来保证元素的唯一性,最终还是用比较(equalps()方法)元素属性。
记住,排序时,当主要条件相同时,一定判断一下次要条件。
比较元素的顺序方法:
1,元素自身具备比较性,实现Comparable接口,覆盖compareTo方法。
2,对元素集合自身具备比较的属性做一个比较器,该比较器将实现了Comparator接口覆盖compare方法的d对象作为参数传递给TreeSet集合的构造函数。
方法一:
import java.io.Serializable; import java.util.Comparator; public class Student implements Comparable<Student>{ private static final long serialVersionUID = 1L; private String id; private String name; private int age; //.....省略了 @Override public int compareTo(Student o) { int i = age > o.getAge() ? 1 : (age == o.getAge() ? 0 : -1); if (i != 0){ return i; } // return i ; int j = name.compareTo(o.getName()); if(j!=0){ return j; } return id.compareTo(o.getId()); } }
方法二:
public class ComparableDemo implements Comparator<Student> { public int compare(Student o1, Student o2) { // 省略 return 0; } }
相关推荐
在Java编程中,集合框架是处理对象集合的重要工具,提供了多种数据结构和操作方式。本实验主要关注两个方面...同时,也对XML编程有了初步的认识。在实际编程中,根据需求选择合适的集合类型和XML处理方法是非常关键的。
这一实验不仅帮助初学者熟悉了Java集合框架的使用,也对Java处理复杂数据结构的能力有了初步的体验。 接下来是打印九宫格的实验,通过二维数组和循环控制,学习者可以实践如何控制变量来填充和打印矩阵。这里不但...
1. **Java基础**:Java语言的基础包括数据类型(如整型、浮点型、字符型和布尔型)、变量、运算符、流程控制(如if语句、switch语句、for循环、while循环等)、方法定义和调用,以及类和对象的初步认识。 2. **面向...
在Java编程中,集合是存储和管理对象的重要工具。在暑期Java实训的第二天,学员们...通过这一天的学习,学员们不仅掌握了集合的基本操作,还对抽象类、接口和IO流有了初步的认识,为后续的编程实践打下了坚实的基础。
十五天的学习时间虽短,但通过有计划地学习和实践,你将能够建立起对Java的初步认识,为后续深入学习打下坚实基础。记住,理论知识与实际编程相结合,不断练习和解决问题是提升技能的关键。祝你在Java学习的道路上越...
6. **集合框架**:掌握ArrayList, LinkedList, Set(HashSet, TreeSet)和Map(HashMap, TreeMap)等容器的使用,理解迭代器(Iterator)和泛型的概念。 7. **输入输出流**:学习I/O流的基本操作,包括文件读写,...
9. **线程**:初步理解线程的创建和同步,使用Thread类和Runnable接口,以及synchronized关键字。 10. **枚举与注解**:学习枚举类型及其用法,理解注解的作用和使用场景。 11. **泛型**:理解泛型的概念,掌握...
十分钟学习JAVA的描述可能意味着这份资料旨在通过简洁明了的方式,让学习者在较短的时间内对Java有初步的认识。下面将详细阐述Java编程语言的关键知识点。 1. **基础语法**: Java是一种面向对象的语言,它以类为...
- **TreeMap与TreeSet**:了解红黑树的特性,以及它们是如何保证排序的。 4. **异常处理** - **异常分类**:认识检查型异常和运行时异常的区别。 - **try-catch-finally**:理解异常处理的机制,如何合理地捕获...
- 初步了解Java虚拟机(JVM)的工作原理。 **工作任务:** - 安装JDK,包括设置环境变量,确保Java开发环境正常运行。 - 编写并运行第一个Java程序,理解其基本结构。 - 探索JVM和Java运行环境的工作机制。 **相关...
##### 1.1 认识Java - **诞生时间**:1995年5月23日,Java语言由Sun Microsystems公司推出。 - **创始人**:James Gosling,通常被称为“Java之父”。 ##### 1.2 Java的发展史 - **起源**:Java最初被设计用于消费...