`

List集合中的对象根据属性排序

 
阅读更多

 

集合类List存放的数据,默认是按照放入时的顺序存放的,比如依次放入A、B、C,则取得时候,则也是A、B、C的顺序,实际场景中,有时我们需要根据自定义的规则对List中的元素进行排序,该如何实现呢?看下面小例子:

package test.tool.gui.dbtool.util;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Test {

	public static void main(String[] args) {
		
		List<Student> list = new ArrayList<Student>();
		
		//创建3个学生对象,年龄分别是20、19、21,并将他们依次放入List中
		Student s1 = new Student();
		s1.setAge(20);
		Student s2 = new Student();
		s2.setAge(19);
		Student s3 = new Student();
		s3.setAge(21);
		list.add(s1);
		list.add(s2);
		list.add(s3);
		
		System.out.println("排序前:"+list);
		
		Collections.sort(list, new Comparator<Student>(){

			/*
			 * int compare(Student o1, Student o2) 返回一个基本类型的整型,
			 * 返回负数表示:o1 小于o2,
			 * 返回0 表示:o1和o2相等,
			 * 返回正数表示:o1大于o2。
			 */
			public int compare(Student o1, Student o2) {
			
				//按照学生的年龄进行升序排列
				if(o1.getAge() > o2.getAge()){
					return 1;
				}
				if(o1.getAge() == o2.getAge()){
					return 0;
				}
				return -1;
			}
		}); 
		System.out.println("排序后:"+list);
	}
}
class Student{
	
	private int age;

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return getAge()+"";
	}
}

 

执行结果:

  1. 排序前:[20, 19, 21]  
  2. 排序后:[19, 20, 21]  

 

当然对象的属性可以多个,比如按年龄升序,按成绩降序等

 

http://blog.csdn.net/lifuxiangcaohui/article/details/41543347

 

 

 

分享到:
评论

相关推荐

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

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

    List集合按照对象中某个属性排序通用工具类(按对象中某属性排序)

    在开发中,我们可能会遇到,我们会根据不同情况对一个List集合进行排序操作,为了方便List集合根据对象中的某一个属性进行排序,开发了此工具类:

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

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

    List 对象属性排序

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

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

    在编程领域,尤其是在Java或类似的面向对象语言中,经常需要处理列表(List)数据结构,并根据对象中的特定属性...在实际开发中,根据对象属性排序是一种常见的需求,熟练掌握这一技巧对于提升代码质量与效率至关重要。

    List集合对象中按照不同属性大小排序的实例

    List集合对象中按照不同属性大小排序的实例 List集合对象中按照不同属性大小排序是java编程中的一种常见操作。下面我们就来详细介绍如何使用java的Collections.sort()方法对List集合对象按照不同属性大小排序。 ...

    Java对集合中的对象排序

    对集合中的对象进行排序,例如:List中存放了User对象,则可根据User对象的某一个属性进行顺序or倒序的排序

    根据对象属性将对象排序

    ### 根据对象属性将对象排序 在编程领域中,我们经常会遇到需要对一组对象进行排序的需求。这种排序可以基于单个属性或者多个属性来进行。本文档将详细讲解如何通过对象的一个或多个属性来实现对象的排序,并支持...

    Java中List集合对象去重及按属性去重的8种方法

    【Java中List集合对象去重及按属性去重的8种方法】 在Java编程中,当我们处理包含重复元素的List时,有时需要去除其中的重复项。以下文章将详细介绍8种针对List集合对象去重的方法,包括基于对象整体以及按特定属性...

    java 按对象属性排序

    在Java编程中,按对象属性排序是一个常见的需求,特别是在数据处理和数据分析的场景下。这里我们探讨的主题是如何根据对象的属性进行排序,结合提供的`Simple.java`和`User.java`文件,我们可以假设这是一个关于...

    集合对象排序

    在编程领域,集合对象排序是一项基础且重要的任务,它涉及到数据结构和算法的知识。当我们处理包含多个元素的数据集,如数组、列表或集合时,排序能够帮助我们快速查找、分析和展示信息。本文将深入探讨如何对对象...

    java8从list集合中取出某一属性的值的集合案例

    Java8从List集合中取出某一属性的值的集合案例 Java8从List集合中取出某一属性的值的集合案例是一个非常有价值的知识点,主要介绍了如何使用Java8的流式编程从List集合中取出某一属性的值的集合。下面将详细介绍这...

    List对象集合的排序:比较器Comparator(简单例子)

    在`List`对象集合中使用`Comparator`进行排序,通常需要调用`Collections.sort()`或`list.sort()`方法。例如,假设我们有一个`Person`类,其中包含`name`和`age`属性,我们想要根据年龄对`Person`对象列表进行排序:...

    java根据List内对象的属性排序方法

    java根据List内对象的属性排序方法是java编程语言中的一种常见且重要的操作。排序是指将一个或多个对象按照某种规则或顺序排列的过程。在java中,List是一个常用的数据结构,用于存储和管理对象的集合。在实际应用中...

    list集合树状排序-java

    在本场景中,我们需要对List中的对象进行排序,这些对象通常包含表示层级关系的属性,如父ID、子节点列表等。 接下来,我们要解决的是“树状排序”。树状排序,或称为树形排序,是指将具有树结构的数据进行排序。在...

    java list集合排序按某一属性排序操作

    Java List 集合排序按某一属性排序操作 Java 集合框架中提供了多种排序方法,今天我们将介绍如何对 Java List 集合进行排序,特别是按照某一属性进行排序操作。 Java List 集合排序 Java 的 List 集合提供了多种...

    java中进行集合排序

    在Java编程中,对集合(如`List`)中的对象进行排序是一项常见的操作。本文将详细介绍如何根据对象的特定属性来实现升序或降序排序。 #### 标题:Java中进行集合排序 该标题表明文章的主题是关于Java语言中如何对...

Global site tag (gtag.js) - Google Analytics