java lisi乱序、排序

package com.gcj.test;

import java.text.ParseException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;



/**
 * 
 * 排序Test
 * @author youps-a
 * @version $Id: Test.java, v 0.1 2015年5月22日 下午8:04:45 youps-a Exp $
 */
public class Test {

	@SuppressWarnings({ "unchecked", "rawtypes" })
    public static void main(String[] args) throws ParseException {
	    /**排序方法简单使用*/
        List list = Arrays.asList(1,2,3,4,5,6,7,8,9);   //定义个list
        System.out.println("原  顺  序"+list.toString());
        
        Collections.shuffle(list);  
        System.out.println("打乱顺序"+list.toString());
        
        Collections.sort(list);
        System.out.println("正序排列"+list.toString());
        
        Collections.sort(list, Collections.reverseOrder());
        System.out.println("逆序排列"+list.toString());
        
        /**排序方法复杂使用*/
        List<TestBean> testList = new ArrayList<TestBean>();
        for (int i = 0; i < 10; i++) {
            TestBean testBean = new TestBean();
            testBean.setId(i);
            testBean.setName("name"+i);
            testList.add(testBean);
        }
        //定义一个TestBean 类型的list 并打乱进行测试
        Collections.shuffle(testList);  
        for (int i = 0; i < testList.size(); i++) {
            System.out.println("testList乱序  "+testList.get(i).toString());
        }
        System.out.println();
        //根据TestBean 的 id 属性进行排序,需重载实现
        Collections.sort(testList, new Comparator<TestBean>() {
            @Override
            public int compare(TestBean o1, TestBean o2) {
                // 实现正序排列
                return o1.getId().compareTo(o2.getId());
            }
        });
        for (int i = 0; i < testList.size(); i++) {
            System.out.println("testList正序  "+testList.get(i).toString());
        }
        System.out.println();
        //再次打乱顺序
        Collections.shuffle(testList);  
        //依旧重载方法
        Collections.sort(testList, new Comparator<TestBean>() {
            @Override
            public int compare(TestBean o1, TestBean o2) {
                // 实现倒序排列
                return o2.getId().compareTo(o1.getId());
            }
        });
        for (int i = 0; i < testList.size(); i++) {
            System.out.println("testList倒序  "+testList.get(i).toString());
        }

	}
	
}
//测试bean
class TestBean {
    //注意需使用 Integer 或Long 等包装类型
    private Integer id;
    private String name;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return "id:"+this.getId()+",name:"+this.getName();
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值