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(); 
    } 
} 
 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/10350.html

(0)
上一篇 2021年7月19日 10:11
下一篇 2021年7月19日 10:11

相关推荐

发表回复

登录后才能评论