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