1. 程式人生 > >按照list中物件的屬性排序

按照list中物件的屬性排序

一個集合,集合儲存著若干物件,物件有若干屬性,希望按照物件的某個屬性排序,排序完成,list的儲存順序也是按照這個屬性排完以後的順序。

http://lanyinbin.cn/blog/articles/127.html

public class User {

    private String username;
    private int age;
 
    public String getUsername() {
        return username;
    }
 
    public void setUsername(String username) {
        this.username = username;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
    public User() {
    }
}
 
public class ListSortTest {
    public static void main(String args[]){
        List<User> userlist=new ArrayList<User>();
        User user1=new User();
        User user2=new User();
        User user3=new User();
        User user4=new User();
        user1.setAge(10);
        userlist.add(user1);
        user2.setAge(34);
        userlist.add(user2);
        user3.setAge(19);
        userlist.add(user3);
        user4.setAge(6);
        userlist.add(user4);
        System.out.println("排序前");
        for(User user:userlist){
 
            System.out.print(user.getAge() + "-");
        }
        System.out.println("\n");
        System.out.println("排序後");
        for(User user:getSortList(userlist)){
            System.out.print(user.getAge() + "-");
        }
 
    }
 
    public static List<User> getSortList(List<User> list){
        Collections.sort(list, new Comparator<User>() {
            @Override
            public int compare(User o1, User o2) {
                if(o1.getAge()>o2.getAge()){
                    return 1;
                }
                if(o1.getAge()==o2.getAge()){
                    return 0;
                }
                return -1;
            }
        });
        return list;
    }
}

排序前
10-34-19-6-


排序後

6-10-19-34-

相關推薦

按照list物件屬性排序

一個集合,集合儲存著若干物件,物件有若干屬性,希望按照物件的某個屬性排序,排序完成,list的儲存順序也是按照這個屬性排完以後的順序。 http://lanyinbin.cn/blog/articles/127.html public class User { pr

如何根據List 物件的某一屬性排序,比如按照學生物件的年齡屬性排序。|Collections.max()|Collections.sort()

本文目錄 1.List相關 List 是有序的,即按照元素的新增順序排列的,如ArrayList、LinkedList。 List是可重複的,即能存入多條完全一樣的資料或物件。 2.如何取List中(基本型別)的最大值

List物件按照屬性時間升序排序

Map<String,Object> paramMap = new HashMap<String, Object>();         paramMap.put("farmid", farmid);         paramMap.put("oc

C#List按照List物件某個屬性排序

public class Book    {        public Book(string inname, string inauthor, string inpublisher, int inprice)        {            this.Name = inname;         

list集合物件日期排序

程式碼直接用就好! 傳入一個  集合物件 ,我的bean中時間屬性是 date 型別; private static void ListSort(List<JzdtInfo> list) { { //排序方法 Collections.sort(lis

List集合裡面按照人的年齡屬性排序

目的:將裝入ArrayList集合裡面的物件按照物件年齡排序。 方法實現:通過實現Comparable介面,重寫compareTo()方法實現。 User.java package com.zmj.j

判斷一個值在list物件的某一屬性是否擁有

判斷i的值在basicWindPowerList中是否擁有,如果沒有進入if判斷裡面的邏輯 for (double i = 0; i <= 25; i += 0.5){ String index = String.valueOf(i); if (!ba

按照ListObject的某個屬性進行分組

/**  *   * 按照List中Object的某個屬性contNo,進行分組  *  * @author fuqin  * create on 2009-12-11  *  * @param list  * @return  */ public static Map ge

js簡單對象List自定義屬性排序

urn cnblogs color bject ray asc obj var pre 簡單對象List自定義屬性排序 <script type="text/javascript"> var objectList = new Array

js物件屬性的型別和屬性的特性

ES5中物件的屬性可以分為資料屬性和訪問器屬性 資料屬性 資料屬性包含以下4個特性: [[configurable]]:表示屬性是否可以被delete,是否可以被重新修改,或者是否可以被修改成訪問器屬性 [[enumerable]]:是否可列舉,是否能通過for in 迴圈返

vue陣列物件屬性變化頁面不渲染問題

vue陣列中物件屬性變化頁面不渲染問題:https://www.cnblogs.com/thinkingthigh/p/7789108.html   做checkbox多選功能的時候遇到了一個坑,邏輯怎麼看都對,但是就是有bug,最後發現數組那裡值變了頁面勾選沒有重新渲染。 換了關

List stream 物件 屬性去重

單值去重不寫了,記錄物件去重 隨手一個物件: @Data @AllArgsConstructor public class Milk { private Integer key; private String value; }   操作: pa

解決vue物件屬性改變檢視不更新的問題

問題描述: 頁面input的值修改後,物件的屬性值並未發生變化 問題解決: vue雙向繫結時,writable(屬性值是否可以重寫)預設為false 將其改為true即可。 Object.defineProperty(obj, objKey, { &nbs

mysql按照字串數字順序排序

開發中遇到的問題,需要按照字串中數字進行排序 1.首先擷取字串中數字 2.將截取出的數字,強轉為int型別的數字 3.按照數字排序 sql語句為: 1.先截取出BSS1,substring_index(s.sindex,':',1 2.在擷取數字(substring(substrin

Java 集合自定義物件屬性排序

對自定義的物件屬性進行排序,一般是實現Comparable介面或實現Comparator介面 1. 實現Comparable介面 package CollectionKnowledge; import java.util.ArrayList; import java.util.

JavaScript物件屬性通過點(.)和方括號([])取值的不同之處

JavaScript中物件屬性通過點(.)和方括號([])取值的不同之處 1、點操作符: 靜態的。右側必須是一個以屬性名稱命名的簡單識別符號。屬性名用一個識別符號來表示。識別符號必須直接出現再js程式中,它們不是資料型別,因此程式無法修改它們。 2、中括號操作符: 動態的。方括號裡必

解析js的原型鏈和在原型鏈物件屬性查詢

//原型鏈中屬性的查詢 function Person(name,color){ this.name=name; this.color=color; } function Teacher(name,age){ this.name=name; this.age=age;

JS物件屬性的可列舉性

在JS中,物件的屬性分為可列舉和不可列舉,它是由屬性的enumerable值決定的,true為可列舉,false為不可列舉 JS中預定義的原型屬性一般是不可列舉的,而自己定義的屬性一般可列舉 可以通過propertyIsEnumerable方法判斷該屬性是否可列舉 屬性的列

SortUtil 物件屬性排序

關於物件屬性之間的排序: 比如 Person 中 年齡的倒序排序 就需要使用這個: package com.test.util; import java.util.Collections; import java.util.Comparator; import java.

python物件屬性

1. dir() 函式 dir([object]) 會返回object所有有效的屬性列表。示例如下:dir(SimhashIndex) Out[111]: ['__class__', '__delattr__', '__dict__', '__dir__', '__