1 package cn.itcast.p2.toolclass.collections.demo;
2
3 import java.util.ArrayList;
4 import java.util.Collections;
5 import java.util.Comparator;
6 import java.util.List;
7
8 import cn.itcast.p2.comparator.ComparatorByLength;
9
10 public class CollectionsDemo {
11
12 public static void main(String[] args) {
13 // TODO Auto-generated method stub
14 /*
15 * Collections:是集合框架的工具类。
16 * 里面的方法都是静态的。
17 */
18 demo_1();
19
20 }
21
22 public static void demo_1() {
23
24 List<String> list = new ArrayList<String>();
25
26 list.add("abcde");
27 list.add("cba");
28 list.add("aa");
29 list.add("zzz");
30 list.add("nbaa");
31 System.out.println(list);
32
33
34
35 //对list集合进行指定顺序的排序。
36 // Collections.sort(list);
37 // mySort(list);
38 // mySort(list, new ComparatorByLength());
39 System.out.println(list);
40
41
42 }
43 //下面方法相当于Collections.sort(list,new ComparatorByLength);
44 /*
45 public static <T> void mySort(List<T> list,Comparator<? super T> comp) {
46
47 for (int i = 0; i < list.size()-1; i++) {
48 for (int j = i+1; j < list.size(); j++) {
49 if (comp.compare(list.get(i),list.get(j)) >0) {
50 // T temp = list.get(i);
51 // list.set(i, list.get(j));
52 // list.set(j, temp);
53 Collections.swap(list, i, j);
54 }
55 }
56 }
57 }
58 //介绍Collections.swap交换方法
59 /*
60 public static <T extends Comparable<? super T>> void mySort(List<T> list) {
61 for (int i = 0; i < list.size()-1; i++) {
62 for (int j = i+1; j < list.size(); j++) {
63 if (list.get(i).compareTo(list.get(j))> 0 ) {
64 // T temp = list.get(i);
65 // list.set(i, list.get(j));
66 // list.set(j, temp);
67 Collections.swap(list, i, j);
68 }
69 }
70 }
71 }*/
72
73 //相当于按自然顺序方法升序排列Collections.sort
74 //public static <T extends Comparable<? super T>> void sort(List<T> list)
75 /*
76 public static <T extends Comparable<? super T>> void mySort(List<T> list) {
77 for (int i = 0; i < list.size()-1; i++) {
78 for (int j = i+1; j < list.size(); j++) {
79 if (list.get(i).compareTo(list.get(j))> 0 ) {
80 T temp = list.get(i);
81 list.set(i, list.get(j));
82 list.set(j, temp);
83 }
84 }
85 }
86 }*/
87
88 //传入String类型的集合
89 /* public static void mySort(List<String> list) {
90
91 for (int i = 0; i < list.size()-1; i++) {
92 for (int j = i+1; j < list.size(); j++) {
93 if (list.get(i).compareTo(list.get(j))> 0 ) {
94 String temp = list.get(i);
95 list.set(i, list.get(j));
96 list.set(j, temp);
97 }
98 }
99 }
100 }*/
101
102 }