通过 链接 练习了逆序的三种方法发上来备忘。
package Demo1;
import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class Test3 {
public static void main(String[] args) {
Integer[] ints = {33,23,123,222,34};
Integer[] ins = sotr1(ints);
System.out.println(Arrays.toString(ins));
System.out.println(Arrays.toString(sort2(ints)));
System.out.println(Arrays.toString(sort3(ints)));
}
private static Integer[] sort3(Integer[] ints) {
Arrays.sort(ints);
Integer[] arr = ints;
/*
* 同过Collections.reverse方法来实现
* */
Collections.reverse(Arrays.asList(arr));
return arr;
}
private static Integer[] sotr1(Integer[] ints) {
/*
* for循环数组后面向前取存入list中实现倒序
* */
Arrays.sort(ints);
List<Integer> list = new ArrayList<>(ints.length);
for (int i = ints.length-1; i >= 0; i--) {
list.add(ints[i]);
}
return list.toArray(ints);
}
private static Integer[] sort2(Integer[] ints) {
Arrays.sort(ints);
/*
* 通过直接调换数组的头尾元素来实现倒序
* */
for (int i = 0; i <= ints.length/2-1; i++) {
int temp = ints[i];
ints[i] = ints[ints.length-i-1];
ints[ints.length-i-1] = temp;
}
return ints;
}
}