Featured image of post Java collections框架的工具类

Java collections框架的工具类

collections框架的常用方法

Collection 框架的工具类

Collections

sort 按照自然顺序排序

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
package sourceCode;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Collections_utils {
	public static void main(String[] args) {
		List<String> se = new ArrayList<String>();
		se.add("fdw");
		se.add("jokeme");
		se.add("dfipo");
		se.add("daase");
		Collections.sort(se);
		System.out.println(se);
			}
}
~~~~~~~~~~~~~~~~~~~~
[daase, dfipo, fdw, jokeme]

用法很简单: Collections.sort(List)

reverse 倒序排列自然排序的 List

1
2
3
4
Collections.reverse(se);
System.out.println(se);
~~~~~~~~~~~~~~~
[jokeme, fdw, dfipo, daase]

用法也很简单: Collections.reverse(List)

如果单独使用时,其效果和 reverseOrder() 作用一样

自定义排序方法

1
Collections.reverseOrder(Comparator<T> cmp())

自定义排序方法时就需要使用 reverseOrder() 并且需要自定义一个比较方法 ? 传进去

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
Collections.sort(se, Collections.reverseOrder(new compareByLength()));
System.out.println(se);
~~~~~~~~~~~~~~~
[fdw, daase, dfipo, jokeme]
~~~~~~~~~~~~~~~
package sourceCode;

import java.util.Comparator;

public class compareByLength implements Comparator<String> {
	@Override
	public int compare(String str1,String str2) {
		int temp = str2.length() - str1.length();
		return temp==0?str2.compareTo(str1):temp;
	}
}

**上面我们可以看出 reverseOrder() 就是万金油,不传参就是倒序排列自然排序的 List , 而传参就可以自定义我们需要的比较方法 < 注意 reverseOrder 要联合 sort 使用,只有 reverse 可以单独使用 > **

将非同步集合转为同步集合

Licensed under CC BY-NC-SA 4.0