实体对象类 --略

排序类----实现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()) {
            return -1;
        }
        return 1;
    }

}

测试类--------------------------

package com.tang.list;

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

public class ListSortTang {
    // 按照list 中对象的属性排序
    public static void main(String[] args) {
        Student st1 = new Student(1, "a", "男", 12);
        Student st2 = new Student(2, "b", "女", 11);
        Student st3 = new Student(3, "c", "男", 20);
        Student st4 = new Student(4, "d", "女", 15);
        Student st5 = new Student(5, "e", "男", 32);
        Student st6 = new Student(6, "f", "女", 21);
        Student st7 = new Student(7, "g", "男", 12);
        Student st8 = new Student(8, "h", "女", 10);
        Student st9 = new Student(9, "i", "男", 9);
        Student st10 = new Student(10, "j", "女", 19);
        List<Student> stus = new ArrayList<Student>();
        stus.add(st1);
        stus.add(st2);
        stus.add(st3);
        stus.add(st4);
        stus.add(st8);
        stus.add(st5);
        stus.add(st6);
        stus.add(st7);
        stus.add(st9);
        stus.add(st10);
        for (Student s : stus) {
            System.out.println(s.toString());
        }
        System.out.println("排序后.................");
        Collections.sort(stus, new Mycompera());// 排序
        for (Student s : stus) {
            System.out.println(s.toString());
        }
    }
}
输出-------------------

Student [sid=1, name=a, sex=男, age=12]
Student [sid=2, name=b, sex=女, age=11]
Student [sid=3, name=c, sex=男, age=20]
Student [sid=4, name=d, sex=女, age=15]
Student [sid=8, name=h, sex=女, age=10]
Student [sid=5, name=e, sex=男, age=32]
Student [sid=6, name=f, sex=女, age=21]
Student [sid=7, name=g, sex=男, age=12]
Student [sid=9, name=i, sex=男, age=9]
Student [sid=10, name=j, sex=女, age=19]
排序后.................
Student [sid=10, name=j, sex=女, age=19]
Student [sid=9, name=i, sex=男, age=9]
Student [sid=8, name=h, sex=女, age=10]
Student [sid=7, name=g, sex=男, age=12]
Student [sid=6, name=f, sex=女, age=21]
Student [sid=5, name=e, sex=男, age=32]
Student [sid=4, name=d, sex=女, age=15]
Student [sid=3, name=c, sex=男, age=20]
Student [sid=2, name=b, sex=女, age=11]
Student [sid=1, name=a, sex=男, age=12]

java 对list中对象按属性排序的更多相关文章

  1. JS中对象按属性排序(冒泡排序)

    在实际工作经常会出现这样一个问题:后台返回一个数组中有i个json数据,需要我们根据json中某一项进行数组的排序. 例如返回的数据结构大概是这样: { result:[ {id:,name:'中国银 ...

  2. array排序(按数组中对象的属性进行排序)

    使用array.sort()对数组中对象的属性进行排序 <template> <div> <a @click="sortArray()">降序& ...

  3. freemarker获取封装类中对象的属性

    freemarker获取封装类中对象的属性 1.设计思路 (1)封装学生类 (2)创建数据模型 (3)新建student.ftl (4)运行Junit测试文件,生成HTML文件 2.封装学生类 Stu ...

  4. freemarker获取封装类中对象的属性(六)

    freemarker获取封装类中对象的属性 1.设计思路 (1)封装学生类 (2)创建数据模型 (3)新建student.ftl (4)运行Junit测试文件,生成HTML文件 2.封装学生类 Stu ...

  5. C#对象内部属性排序测试

    构建对象: class SortGrid { int indexI; int indexJ; public SortGrid(int x, int y) { indexI = x; indexJ = ...

  6. Vue 改变数组中对象的属性不重新渲染View的解决方案

    Vue 改变数组中对象的属性不重新渲染View的解决方案 在解决问题之前,我们先来了解下 vue响应性原理: Vue最显著的一个功能是响应系统-- 模型只是一个普通对象,修改对象则会更新视图.受到ja ...

  7. 【转】vector中对象指针的排序

    原文:http://blog.csdn.net/tanlijun37/article/details/1948493 vector中对象指针的排序,初步想法是1: 把对象指针存到vector,重载bo ...

  8. JavaScript中对象的属性

    在JavaScript中,属性决定了一个对象的状态,本文详细的研究了它们是如何工作的. 属性类型 JavaScript中有三种不同类型的属性:命名数据属性(named data properties) ...

  9. JS 取Json数据中对象特定属性值

    解析JSON JSON 数据 var str = '[{"a": "1","b": "2"}, {"a&quo ...

随机推荐

  1. uva10561 - Treblecross

    Treblecross is a two player game where the goal is to get three `X' in a row on a one-dimensional bo ...

  2. Autoit实现分割字符串,循环输出元素

    #include <MsgBoxConstants.au3> Local $aDays = StringSplit("Mon,Tues,Wed,Thur,Fri,Sat,Sun& ...

  3. 关于手机"内存"的解答

    关于手机"内存"的解答 内存小/少 手机内存在手机出厂的时候就已经固定了,其总量无法调整,不能像电脑一样加内存条.所以想提升可用内存,除了经常清理系统,或者把不是必须的应用移到SD ...

  4. jQuery plugin

    SidebarJS http://makotot.github.io/sidebar/

  5. Delphi GDI或图像处理的博客

    http://blog.csdn.net/w1028489713/article/category/1918251

  6. jQuey事件委托

    javascript的事件模型,采用"冒泡"模式,子元素的事件会逐级向上"冒泡",成为父元素的事件. 在需要为较多的元素绑定事件时应该使用事件委托 event ...

  7. js编写验证码

    这是一个简单的js编写的验证码,自己已经亲自验证,没有问题了 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN ...

  8. UVa 11292 - Dragon of Loowater(排序贪心)

    Once upon a time, in the Kingdom of Loowater, a minor nuisance turned into a major problem.The shore ...

  9. Linux下遍历目录及文件,更改权限

    Linux下遍历目录及文件,更改权限 引言: 我在Linux下搭建android时,将eclipse及sdk复制到/usr/下时,总会出现无法读,无法写写样的问题. 解决方案: 有两个方案: 一.将复 ...

  10. redis取值报错

    > get "all_couriers_on_the_job" (error) ERR Operation against a key holding the wrong k ...