实体对象类 --略

排序类----实现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. jdom学习:读取xml文件

    用JDOM读取XML文件需先用org.jdom.input.SAXBuilder对象的build()方法创建Document对象,然后用Document类.Element类等的方法读取所需的内容.IB ...

  2. ORACLE数据库操作基本语句

    1.登陆SPL*PLUS [username/password] [@server] as [sysdba|sysoper] eg. system/password or connect sys/pa ...

  3. Sublime Text 3 中文汉化绿色破解特别版下载

    Sublime Text是一款代码编辑器,几乎支持所有语言的编写.sublime给人们的印象不外乎小巧.速度快.并且快捷键丰富而强大.不知繁多的插件. sublime一般被应用到前端的开发.Subli ...

  4. 【HDOJ】2416 Treasure of the Chimp Island

    bfs().题目的数据乱码.应该如下: *****#********* *.......$...* *..***.......* *....*****..* *....******37A *****. ...

  5. BZOJ 1022 [SHOI2008]小约翰的游戏John

    1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 1635  Solved: 1036[Submit] ...

  6. 第2个Wiindows程序讲解

    上次,我们一起写了一个Windows窗口程序,这个窗口程序虽然非常简单,但是,代码仍然很多,相信,一定会有很多初学者看见这些代码而感到头疼.不用怕,现在,我们就一起来分析一下这些代码,相信通过我们共同 ...

  7. adb Monkey用法

    以这条Monkey指令为例: #monkey -s --throttle -p com.android.cameraswitch -- 这条monkey指令是测试:在camera模块中产生1万次伪随机 ...

  8. 设计模式学习--复合模式(Compound Pattern)

    设计模式学习--复合模式(Compound Pattern) 概述 ——————————————————————————————————————————————————— 2013年8月4日<H ...

  9. HTTP学习笔记5-常用报头

    24,在普通报头中,有少数报头域应用域所有的请求和响应消息,但并不用于被传输的实体,这些报头域只用于传输的消息. 25,常用的普通报头Cache-Control: Cache-Control普通报头域 ...

  10. Ensures there will be no 'console is undefined' errors

    很早之前项目中遇到过这种bug, 当时没有多留意,只是暂时把笔记留了下来,今天整理笔记的时候,看到了,故先整理在此,具体用法下次遇到再好好理解理解.如果有筒子遇到过,麻烦留言说一下,先谢谢啦. //E ...