在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

java lisi乱序、排序

2016-12-20 13:17| 发布者: zhangjf| 查看: 466| 评论: 0

摘要: 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 ...
  1. package com.gcj.test;
  2. import java.text.ParseException;
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.Collections;
  6. import java.util.Comparator;
  7. import java.util.List;
  8. /**
  9. *
  10. * 排序Test
  11. * @author youps-a
  12. * @version $Id: Test.java, v 0.1 2015年5月22日 下午8:04:45 youps-a Exp $
  13. */
  14. public class Test {
  15. @SuppressWarnings({ "unchecked", "rawtypes" })
  16. public static void main(String[] args) throws ParseException {
  17. /**排序方法简单使用*/
  18. List list = Arrays.asList(1,2,3,4,5,6,7,8,9); //定义个list
  19. System.out.println("原 顺 序"+list.toString());
  20. Collections.shuffle(list);
  21. System.out.println("打乱顺序"+list.toString());
  22. Collections.sort(list);
  23. System.out.println("正序排列"+list.toString());
  24. Collections.sort(list, Collections.reverseOrder());
  25. System.out.println("逆序排列"+list.toString());
  26. /**排序方法复杂使用*/
  27. List<TestBean> testList = new ArrayList<TestBean>();
  28. for (int i = 0; i < 10; i++) {
  29. TestBean testBean = new TestBean();
  30. testBean.setId(i);
  31. testBean.setName("name"+i);
  32. testList.add(testBean);
  33. }
  34. //定义一个TestBean 类型的list 并打乱进行测试
  35. Collections.shuffle(testList);
  36. for (int i = 0; i < testList.size(); i++) {
  37. System.out.println("testList乱序 "+testList.get(i).toString());
  38. }
  39. System.out.println();
  40. //根据TestBean 的 id 属性进行排序,需重载实现
  41. Collections.sort(testList, new Comparator<TestBean>() {
  42. @Override
  43. public int compare(TestBean o1, TestBean o2) {
  44. // 实现正序排列
  45. return o1.getId().compareTo(o2.getId());
  46. }
  47. });
  48. for (int i = 0; i < testList.size(); i++) {
  49. System.out.println("testList正序 "+testList.get(i).toString());
  50. }
  51. System.out.println();
  52. //再次打乱顺序
  53. Collections.shuffle(testList);
  54. //依旧重载方法
  55. Collections.sort(testList, new Comparator<TestBean>() {
  56. @Override
  57. public int compare(TestBean o1, TestBean o2) {
  58. // 实现倒序排列
  59. return o2.getId().compareTo(o1.getId());
  60. }
  61. });
  62. for (int i = 0; i < testList.size(); i++) {
  63. System.out.println("testList倒序 "+testList.get(i).toString());
  64. }
  65. }
  66. }
  67. //测试bean
  68. class TestBean {
  69. //注意需使用 Integer 或Long 等包装类型
  70. private Integer id;
  71. private String name;
  72. public Integer getId() {
  73. return id;
  74. }
  75. public void setId(Integer id) {
  76. this.id = id;
  77. }
  78. public String getName() {
  79. return name;
  80. }
  81. public void setName(String name) {
  82. this.name = name;
  83. }
  84. @Override
  85. public String toString() {
  86. // TODO Auto-generated method stub
  87. return "id:"+this.getId()+",name:"+this.getName();
  88. }
  89. }
复制代码

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-8 14:31

Copyright 2015-2025 djqfx

返回顶部