`
geelong
  • 浏览: 117259 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

TreeSet对象排序的方法

 
阅读更多

package set;

import java.util.Set ;
import java.util.TreeSet ;
class Person implements Comparable<Person>{
	private String name ;
	private int age ;
	public Person(String name,int age){
		this.name = name ;
		this.age = age ;
	}
	public String toString(){
		return "姓名:" + this.name + ";年龄:" + this.age ;
	}
	public int compareTo(Person per){
		if(this.age>per.age){
			return 1 ;
		}else if(this.age<per.age){
			return -1 ;
		}else{
			return this.name.compareTo(per.name) ;	// 调用String中的compareTo()方法
		}
	}
};
public class TreeSetDemo04{
	public static void main(String args[]){
		Set<Person> allSet = new TreeSet<Person>() ;
		allSet.add(new Person("张三",30)) ;
		allSet.add(new Person("李四",31)) ;
		allSet.add(new Person("王五",32)) ;
		allSet.add(new Person("王五",32)) ;
		allSet.add(new Person("王五",32)) ;
		allSet.add(new Person("赵六",33)) ;
		allSet.add(new Person("孙七",33)) ;
		System.out.println(allSet) ;
	}
};
 
分享到:
评论

相关推荐

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

    这样,当我们创建一个`TreeSet&lt;Student&gt;`时,`TreeSet`会根据`compareTo`方法自动对学生对象进行升序排序(默认是最小到最大)。 接下来,我们可以创建一个`TreeSet&lt;Student&gt;`实例,添加学生对象,然后遍历`TreeSet...

    TreeSet 红黑树结构算法

    例如,TreeSet 可以使用自然排序方式创建一个新的 TreeMap,也可以使用定制排序方式创建一个新的 TreeMap。 TreeSet 的方法主要是调用 TreeMap 的方法来提供实现。例如,TreeSet 的 addAll 方法就是调用 TreeMap 的...

    Java 对象排序详解.rar_java 对象排序_对象_排序

    在Java编程语言中,对象排序是一项关键操作,特别是在处理集合数据结构时。本文将深入探讨如何对ArrayList、HashSet、TreeSet以及数组中的对象进行排序。理解这些排序机制对于编写高效且可维护的代码至关重要。 ...

    在TreeSet中添加自定义对象

    通过以上两种方法,我们可以在`TreeSet`中添加自定义对象,并按照特定规则进行排序。选择哪种方法取决于实际需求:如果排序规则简单且固定,那么实现`Comparable`接口即可;若排序规则复杂或需要动态变化,则应考虑...

    浅谈TreeSet中的两种排序方式

    在使用 TreeSet 时,我们可以通过实现 Comparable 接口或提供Comparator 对象来指定排序规则。下面,我们将详细介绍 TreeSet 中的两种排序方式:自然排序和定制排序。 自然排序 自然排序是指通过实现 Comparable ...

    java 按对象属性排序

    这里我们探讨的主题是如何根据对象的属性进行排序,结合提供的`Simple.java`和`User.java`文件,我们可以假设这是一个关于自定义对象排序的例子。下面将详细解释相关知识点。 1. **Comparable接口**: Java中的`...

    解决TreeSet类的排序问题

    这个方法源自`Comparable`接口,任何希望在TreeSet中进行排序的类都应当实现这个接口。在`compareTo()`方法中,需要定义比较规则,通常比较的是对象的属性。例如,对于数值类型,可以按照数值大小比较;对于字符串,...

    Java对象排序中文排序SortedSet排序使用和源码讲

    当我们处理集合数据时,有时需要按照特定的规则对元素进行排序,例如按照对象的属性值或字符串的自然顺序。本主题将深入探讨如何使用SortedSet接口来实现Java对象的中文排序,并通过源码分析理解其工作原理。 首先...

    java 集合框架(TreeSet练习)

    2. **自定义比较器**:如果我们需要自定义元素的排序规则,可以通过传递一个实现了`Comparator`接口的对象给`TreeSet`的构造函数来实现。`compare()`方法在这个比较器中定义了元素的比较逻辑。 3. **基本操作**:`...

    Java集合框架总结:TreeSet类的排序问题

    发布于2012-5-8TreeSet支持两种排序方法:自然排序和定制排序。TreeSet默认采用自然排序。TreeSet会调用集合元素的compareTo(Objectobj)方法来比较元素之间大小关系,然后将集合元素按升序排列,这种方式就是自然...

    java 对象 排序

    在Java编程语言中,对象排序是一项重要的操作,特别是在处理集合数据结构时。本文将深入探讨如何在Java中对对象进行排序,以及相关的知识点。 首先,Java中的对象排序主要涉及到两个核心概念:Comparable接口和...

    javaTreeSet实现图书管理系统

    由于`TreeSet`自动排序,可以根据书名、作者或出版日期等进行排序。 - **借书卡办理**:创建一个`Card`类表示借书卡,包含持卡人信息。每个持卡人可以有一个`TreeSet&lt;Book&gt;`记录他们的借阅历史。 3. **借书,还书*...

    Java实现储存对象并按对象某属性排序的几种方法示例

    在这个例子中,`Person`类实现了`Comparable`接口,`compareTo`方法比较两个`Person`对象的年龄,`TreeSet`在添加元素时会自动调用这个方法进行排序。 2. **使用`Comparator`**:如果不想修改类的源代码,可以创建...

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

    标签"(TreeSet) s."表明我们关注的是与TreeSet对象`s`相关的操作。 关于TreeSet和`subSet()`方法的知识点包括: 1. **TreeSet的特性**:TreeSet自动排序元素,不允许插入null值,并且保证了集合的唯一性。元素按照...

    JCF(List、Set、Map)学习,实现了<key,value>按value排序噢

    对于`TreeSet`,由于其只能存储单个对象,若要按值排序,我们需要创建一个包含键值对的自定义类,然后重写`compareTo()`方法,使其根据值进行比较。例如: ```java class ValueWrapper implements Comparable...

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

    在实际开发中,`TreeMap` 适合于需要按照特定键值进行排序的情况,而 `TreeSet` 则适用于需要对一组对象按照特定规则进行排序的场景。自定义比较器是实现排序灵活性的关键,可以根据业务需求定制排序逻辑。 总结,`...

    最快的排序算法 java最快的排序-在Java中对列表进行排序的最快方法,排序算法数据结构

    在上述代码中,使用了 List 接口来存储 ServerInfo 对象列表,并使用了 Collections.sort() 方法来对列表进行排序。List 接口提供了对元素的添加、删除和遍历等操作,可以满足基本的数据存储需求。 在实际应用中,...

    treemap treeset hashset hashmap 简要介绍

    对于`HashMap`,尽管`Student`类的`equals()`和`hashCode()`方法未正确实现,但是由于`HashMap`使用的是对象引用作为键,所以每个调用`put()`方法都会覆盖之前的值,最终`map`中只会有最后一个键值对。 综上所述,...

    java集合排序方法总结共13页.pdf.zip

    本篇总结主要围绕Java集合的排序方法进行详细阐述,共计13页,涵盖了多种排序策略和技术。下面我们将深入探讨这些关键知识点。 1. 集合接口与实现 在Java中,集合主要分为两种类型:List和Set。List接口(如...

    HashSet和TreeSet.doc

    哈希表依赖于对象的 `hashCode()` 方法来确定元素的存储位置,而 `equals()` 方法用于判断两个对象是否相等。在添加元素时,如果两个对象的 `hashCode()` 返回相同的值,那么它们会被放在同一个桶(bucket)中,此时...

Global site tag (gtag.js) - Google Analytics