List-sort排序

转载 2015年07月10日 18:07:22
/**
* @author guwh
* @version 创建时间:2011-11-3 上午10:49:36
* 类说明
*/ 
package com.jabberchina.test;

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

public class SortTest {



    public static void main(String[] args) {
        List<String> lists = new ArrayList<String>();
        List<A> list = new ArrayList<A>();
        List<B> listB = new ArrayList<B>();
        lists.add("5");
        lists.add("2");
        lists.add("9");
        //lists中的对象String 本身含有compareTo方法,所以可以直接调用sort方法,按自然顺序排序,即升序排序
        Collections.sort(lists);

        A aa = new A();
        aa.setName("aa");
        aa.setOrder(1);
        A bb = new A();
        bb.setName("bb");
        bb.setOrder(2);
        list.add(bb);
        list.add(aa);
        //list中的对象A实现Comparable接口
        Collections.sort(list);

        B ab = new B();
        ab.setName("ab");
        ab.setOrder("1");
        B ba = new B();
        ba.setName("ba");
        ba.setOrder("2");
        listB.add(ba);
        listB.add(ab);
        //根据Collections.sort重载方法来实现
        Collections.sort(listB,new Comparator<B>(){
            @Override
            public int compare(B b1, B b2) {
                return b1.getOrder().compareTo(b2.getOrder());
            }

        });

        System.out.println(lists);
        System.out.println(list);
        System.out.println(listB);

    }

}

class A implements Comparable<A>{
    private String name;
    private Integer order;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public Integer getOrder() {
        return order;
    }
    public void setOrder(Integer order) {
        this.order = order;
    }
    @Override
    public String toString() {
        return "name is "+name+" order is "+order;
    }
    @Override
    public int compareTo(A a) {
        return this.order.compareTo(a.getOrder());
    }

}

class B{
    private String name;
    private String order;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getOrder() {
        return order;
    }
    public void setOrder(String order) {
        this.order = order;
    }
    @Override
    public String toString() {
        return "name is "+name+" order is "+order;
    }
}

打印的结果为:
&nbsp;[2, 5, 9]
[name is aa order is 1, name is bb order is 2]
[name is ab order is 1, name is ba order is 2]

排序学习简介

译排序学习简介,翻译自李航老师的《A Short Introduction to Learning to Rank》
  • clheang
  • clheang
  • 2016年06月15日 20:42
  • 5005

二分排序(java)

基本思想就是:将待排序元素分成大小大致相同 的两个子集合,分别 对两个子集合进行排序,最终将排好序的子集合合并成所要求的排好序的集合。package com.suanfa; /** * 二分排序 ...
  • baidu_23086307
  • baidu_23086307
  • 2016年05月30日 14:42
  • 1068

pandas学习:对series和dataframe进行排序

本问主要写根据索引或者值对series和dataframe进行排序的方法 代码: #coding=utf-8 import pandas as pd import numpy as np #以下实...
  • u014662865
  • u014662865
  • 2017年03月01日 10:53
  • 3488

坐标点排序

//================================================================================== //功能说明:设置两个Poin...
  • huixingshao
  • huixingshao
  • 2015年01月26日 10:09
  • 3489

集合TreeSet(自然排序与定制排序)

一、TreeSet的自然排序: 步骤:让元素自身具备比较性, 实现Compareable接口,覆盖其CompareTo方法   class Student implements Comparable/...
  • liuchuangjin
  • liuchuangjin
  • 2015年06月15日 09:37
  • 5568

jqGrid 排序功能

主要添加 sortable:true,sortorder :"asc"   某些字段不要拍戏功能的话 只要在字段中加入 sortable:false; jqgrid排序的功能是:在点击每一列的列名时,...
  • u013792648
  • u013792648
  • 2016年10月18日 10:32
  • 12884

bootstrap点击表头实现排序功能

bootstrap点击表头实现排序功能
  • Hero_QHZ
  • Hero_QHZ
  • 2017年07月27日 14:00
  • 2502

h5简单的拖拽排序,

原本是打算用户移动端的, 但考虑移动端的滑动和滚动(暂不知道也没有去搜索决解方案, 但是就算实现了也会有很多麻烦, 以后再考虑) .drag-containter > div { h...
  • u013571243
  • u013571243
  • 2017年01月17日 17:03
  • 1713

Mysql的varchar排序按照数字顺序

自己建表的时候,把一个字段类型创建为varchar(2) ,其实应该建为int(2)的。因为我只允许输出数字。这本来也没什么,无非就是占点空间,懒得改了。但是今天在后台发现排序有问题。于是,没办法,改...
  • ROVAST
  • ROVAST
  • 2016年06月02日 09:56
  • 6267

union 居然排序了

  UNION理解select * from A unionselect * from B此处用UNION  如果用 * 号的话,A, B 中的列的列数要一致方可以。如果不一致的话,会出现下列错误:使...
  • zhvsby
  • zhvsby
  • 2008年11月25日 22:15
  • 7901
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:List-sort排序
举报原因:
原因补充:

(最多只允许输入30个字)