1.自然升序排序
使用Arrays类:其中的sort()使用的是“经过调优的快速排序法”,但不能用sort()进行降序排序
public static void main(String[] args) {
int[] a={1,-5,5,8};
Arrays.sort(a);
for(int i=0;i<a.length;i++)
System.out.print(a[i]+" ");
}
//-5 1 5 8 输出结果,注意只能升序
2.自然降序排序
public static void main(String[] args) {
Integer[] a = {1,-2,6,17,-7};//注意不要使用Int声明数组,否则会报错
Arrays.sort(a, Collections.reverseOrder());
for (int arr : a) {
System.out.print(arr + " ");
}
}
//输出结果:17 6 1 -2 -7
3.数组倒置
(1)直接对数组中的元素进行倒置
public static void main(String[] args) {
String[] strings = { "a", "b", "c", "d","e" };
System.out.println("\t" + Arrays.toString(strings));
for (int start = 0, end = strings.length - 1; start < end; start++, end--) {
String temp = strings[end];
strings[end] = strings[start];
strings[start] = temp;
}
System.out.println("\t" + Arrays.toString(strings));
//输出结果 [a, b, c, d, e]
// [e, d, c, b, a]
}
(2)使用ArrayList: ArrayList存入和取出的顺序是一样的,可以利用这里特性暂时存储数组元素
public static void main(String[] args) {
String[] strings = { "a", "b", "c", "d","e" };
System.out.println("\t" + Arrays.toString(strings));
List<String> list = new ArrayList<>(strings.length);
for (int i = strings.length - 1; i >= 0; i--) {
list.add(strings[i]);
}
strings = list.toArray(strings);
System.out.println("\t" + Arrays.toString(strings));
//输出结果[a, b, c, d, e]
// [e, d, c, b, a]
}
4.随机排列
public static void main(String args[])
{
int[] Arr = {1,2,3,4,5,6,7,8,9};
Random random = new Random();
for (int i=0;i<Arr.length;i++ ){
int p = random.nextInt(i+1);//该方法的作用是生成一个随机的int值,该值介于[0,n)的区间
int tmp = Arr[i];
Arr[i]=Arr[p];
Arr[p]=tmp;
}
for (int i:Arr
) {
System.out.println(i+"");
}
}