JAVA list 根据对象的某个属性排序

//需要排序的list
List<T> list= new ArrayList<>();

//开始排序
Collections.sort(list, new Comparator<T>(){
            public int compare(T o1, T o2) {
                //排序属性
                if(o1.getNum() < o2.getNum()){
                    return 1;
                }
                if(o1.getNum() == o2.getNum()){
                    return 0;
                }
                return -1;
            }
        });   

//排序完成  输出
System.out.println(new Gson().toJson(list))

原文地址:https://www.cnblogs.com/codigup/p/10172171.html

时间: 2024-10-24 17:46:46

JAVA list 根据对象的某个属性排序的相关文章

泛型集合排序,根据实体类对象的某个属性排序

import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; import sy.model.aite.analysis.SelfTestAnalysis; /** * 泛

Java反射获取对象VO的属性值(通过Getter方法)

有时候,需要动态获取对象的属性值. 比如,给你一个List,要你遍历这个List的对象的属性,而这个List里的对象并不固定.比如,这次User,下次可能是Company. e.g. 这次我需要做一个Excel导出的工具类,导出的批量数据是以List类型传入的,List里的对象自然每次都不同,这取决于需要导出什么信息. 为了使用方便,将对象的属性名与属性值存于Map当中,使用时就可以直接遍历Map了. 此次的思路是通过反射和Getter方法取得值,然后记录在一个Map当中. Kick start

利用Apache的commons-beanutils和commons-collections包实现Java对象的按属性排序

在日常工作中经常用到需要对java对象集合或者Map集合中的某个属性做排序,这个需求可以利用Apache的commons-beanutils和commons-collections包来实现,主要实现方式如下: public static <T> void sort(List<T> list, String property, boolean asc) { Comparator<?> comparator = ComparableComparator.getInstanc

js 对象数组根据对象中的属性排序

function createComparisonFunction(propertyName){ return function(object1,object2){ var value1 = object1[propertyName]; var value2 = object2[propertyName]; if(value1 < value2){ return -1; }else if(value1 > value2){ return 1; }else{ return 0; } }; };

对数组对象按某些属性排序方法

要排序的对象是一个联系人类,如下定义: @interface Person : NSObject @property (nonatomic, copy) NSString *name; @property (nonatomic, copy) NSString *surname; @property (nonatomic, strong) NSDate *dateOfBirth; @end 而数组中包含如下内容: Smith John 03/01/1984 Andersen Jane 16/03/

集合中保存对象,如何按对象中的属性排序?

package testProject; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; public class TestPro { public static void main(String[] args) { ArrayList<TestPro> zsList = new ArrayList<TestPro>(); zsList.add(new Te

数组内对象根据指定属性排序

参考:https://www.jianshu.com/p/732461f2439a [arr sortUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) { BTItemModel *item1 = (BTItemModel *)obj1; BTItemModel *item2 = (BTItemModel *)obj2; return [item1.rank compare:item2.rank];

java 根据对象属性排序

在项目中经常会遇到这杨的情况,在数据中取到的 一个list集合我们需要这个集合是按我们想要的顺序排列 当然你说这可以用数据库order by 就能搞定,ok我们说的用java代码.若你已经选择要使用数据库了请绕行! 好吧居然你选择了往下继续OK 就进入代码吧, ok之前我遇到这样的需求的时候为了简单也使用过数据库来做,后来数据库查询的sql越来越复杂之后就想用j ava来帮帮数据库减轻一下压力."毕竟,压力来自轮胎,就算跳到250P,FC 的马力还是太大,难以做到最大限度的飘逸". 我

java 对list中对象按属性排序

实体对象类 --略 排序类----实现Comparator接口,重写compare方法 package com.tang.list; import java.util.Comparator; public class Mycompera implements Comparator<Student> { @Override    public int compare(Student o1, Student o2) {        if (o1.getSid() > o2.getSid()