`
anxingyu_1984
  • 浏览: 39590 次
  • 性别: Icon_minigender_1
  • 来自: 内蒙古
社区版块
存档分类
最新评论

java 按对象属性排序

阅读更多

1、为了尽可能少的交互数据库

2、工作中难免会遇到得到一个集合,需要按每个对象的其中的属性进行排序

模板类:

 

public class User {
	private String name;
	private String sex;
	private int age;
	public User(String name, String sex, int age) {
		this.name=name;
		this.sex=sex;
		this.age=age;
	}
	public User() {
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}

 实现类:

import java.util.*;

public class Simple implements Comparator<User> {
	/**
	 * 覆盖方法
	 * */
	public int compare(User o1, User o2) {
		 
//		if(o1.getAge()==o2.getAge())//数字比较,由小到大
//			return o1.getAge()>o2.getAge()?1:-1;
		if(o1.getName().equals(o2.getName()))//姓名比较,
			return o1.getName().compareTo(o2.getName());
		return 0;
	}

	public static void main(String[] args) {
		User u1 = new User();
		User u2 = new User();
		User u3 = new User();
		u1.setName("a");
		u1.setSex("男");
		u1.setAge(15);
		u2.setName("c");
		u2.setSex("女");
		u2.setAge(12);
		u3.setName("b");
		u3.setSex("男");
		u3.setAge(11);
		
		Simple sim = new Simple();
		//排序1
		List list = new ArrayList();
		list.add(u1);
		list.add(u2);
		list.add(u3);
		Collections.sort(list, sim);
		
		Iterator it = list.iterator();
//		while (it.hasNext()) {
//			User e = (User) it.next();
//			System.out.println(e.getName() + " sex 是:" + e.getSex() + " age 是:" + e.getAge());
//		}
		for (Object object : list) {
			User e = (User) object;
			System.out.println(e.getName() + " sex 是:" + e.getSex() + " age 是:" + e.getAge());
		}
	}
}

 

分享到:
评论

相关推荐

    java List中对象多属性排序及各属性排序设置

    本文将深入探讨如何在Java的List中对包含多个属性的对象进行排序,并且支持动态设置每个属性的排序方式。这个功能的实现是通过泛型和自定义比较器(Comparator)来完成的,对于复杂的数据排序需求具有很高的灵活性。...

    JAVA 对象数组按照多个属性进行排序

    总结一下,当需要对Java对象数组按多个属性排序时,我们可以: 1. 实现`Comparator`接口并自定义`compare()`方法。 2. 使用lambda表达式或方法引用来创建`Comparator`实例,使代码更加简洁。 3. 对于数组,使用`...

    Java 对象属性map排序示例

    **Java对象属性排序** 如果我们有一个对象类,其中包含一个Map属性,我们可以先对Map进行排序,然后再处理对象列表。假设我们有以下User类: ```java public class User { private String name; private Map, ...

    java版本List中对象多属性排序.rar

    在Java编程中,对List集合中的对象进行多属性排序是一项常见的任务。这通常涉及到自定义比较逻辑,以满足复杂的数据排序需求。在这个“java版本List中对象多属性排序.rar”压缩包中,我们可能找到了一个关于如何在...

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

    以上三种方法都能满足按对象属性排序的需求,选择哪种取决于具体的应用场景。如果需要保持集合的有序性,`TreeSet`是很好的选择;如果数据存储在数组中,`Arrays.sort()`简洁高效;而`List`的使用者则可以利用`...

    List中保存对象,按对象中某一属性排序【含程序源码】

    这篇博客“List中保存对象,按对象中某一属性排序【含程序源码】”恰好提供了这样的解决方案。下面我们将深入探讨这个主题。 首先,让我们理解列表(List)和对象排序的基本概念。列表是Java集合框架的一部分,它允许...

    List 对象属性排序

    ### List对象属性排序知识点 #### 一、概述 在Java编程中,经常需要对`List`集合中的对象按照特定属性进行排序。传统的方法是在每个实体类中重写`Comparable`接口或提供比较器(`Comparator`),这不仅增加了代码...

    Compable和Comparator自定义对象属性排序

    可以通过两种方式自定义对象的属性大小进行比较,对一个list或数组对根据属性排序一个list或数组

    优先队列-java可以选择属性和升序降序

    默认情况下,队列按自然顺序进行排序,即所有元素必须实现`Comparable`接口,或者在创建队列时提供一个`Comparator`实例。 1. **创建优先队列** 创建一个无参的`PriorityQueue`会自动创建一个最小优先队列,其中...

    java中对单层json进行key字母排序

    `fromObject()`是org.json库提供的方法,它能将Java对象转换为JSON表示。 5. 最后,返回排序后的JSONObject。 这个方法只适用于单层JSON对象,即JSON对象中不包含嵌套的JSON对象或数组。如果需要处理嵌套的JSON...

    Java面向对象思想的排序方法

    总的来说,Java中的面向对象思想为实现各种排序算法提供了灵活的结构和强大的功能。通过封装、继承和多态,我们可以构建出易于理解和维护的代码,同时适应不同的排序需求。在开发过程中,理解并熟练运用这些面向对象...

    java对象排序

    Java对象排序基础 在Java中,我们可以对两种类型的元素进行排序:原始类型(如int、char)和对象。对于对象,排序主要涉及到`Comparable`接口和`Comparator`接口。 - **Comparable接口**:如果一个类的实例需要被...

    Java实现对象按照其属性排序的两种方法示例

    Java实现对象按照其属性排序的两种方法示例 Java语言中,对象按照其属性排序是非常常见的操作,例如对学生对象按照成绩或年龄进行排序。在Java中,可以使用两种方法来实现对象按照其属性排序,分别是使用Comparable...

    java 对象 排序

    总的来说,Java对象排序是通过实现`Comparable`接口或使用`Comparator`来完成的。理解这两个接口的用法,并熟练掌握`Collections.sort()`和`Arrays.sort()`的使用,是成为熟练Java开发者的必备技能。在实际编程中,...

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

    本主题将深入探讨如何使用SortedSet接口来实现Java对象的中文排序,并通过源码分析理解其工作原理。 首先,SortedSet是Java集合框架中的一个接口,它继承自Set接口并添加了排序的特性。SortedSet的主要实现类有...

    java文件夹按时间、大小等排序

    这里我们将深入探讨如何使用Java实现文件按时间、大小等属性进行排序的功能。 首先,我们要引入`java.io.File`类,它是Java中用于表示文件和目录的基本类。我们可以创建`File`对象来代表一个具体的文件或目录,然后...

    java8新特性将List中按指定属性排序过滤重复数据的方法

    Java 8 新特性将 List 中按指定属性排序过滤重复数据的方法 Java 8 新特性将 List 中按指定属性排序过滤重复数据的方法是 Java 8 中一个非常有用的功能,它可以帮助开发者快速地对 List 中的数据进行排序和过滤,以...

Global site tag (gtag.js) - Google Analytics