在Java中,判断一个数组是否已经排序,可以通过以下几种方法:
使用`Arrays.sort()`方法
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
boolean isSorted = Arrays.stream(array).allMatch(x -> x <= array[x - 1]);
System.out.println(isSorted); // 输出 true
}
}
使用循环遍历数组
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
for (int i = 0; i < array.length - 1; i++) {
if (array[i] > array[i + 1]) {
System.out.println("数组未排序");
return;
}
}
System.out.println("数组已排序");
}
}
使用`Collections.sort()`方法 (适用于`List`):import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
List
list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
boolean isSorted = list.stream().allMatch(x -> x <= list.get(x - 1));
System.out.println(isSorted); // 输出 true
}
}

使用自定义比较器
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
List
list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
boolean isSorted = list.stream().allMatch(x -> x <= list.get(x - 1));
System.out.println(isSorted); // 输出 true
}
}

```java
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
Integer[] array = {1, 2, 3, 4, 5};
boolean isSorted = Arrays.stream(array).allMatch(x -> x <= array[x - 1]);
System.out.println(isSorted); // 输出 true
}
}
```
使用`isSorted`方法(适用于`int[]`数组):
public class Main {
public static boolean isSorted(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
if (array[i] > array[i + 1]) {
return false;
}
}
return true;
}
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
System.out.println(isSorted(array)); // 输出 true
}
}
以上方法可以帮助你判断一个数组是否已经排序。请选择适合你需求的方法进行使用