Arrays类的操作 (1)Arrays类的排序功能 (2)Arrays类的二分查找功能
时间: 2023-12-10 09:05:14 浏览: 37
好的,我明白了。关于Arrays类的操作,我可以回答你的问题。
(1) Arrays类的排序功能
Arrays类提供了一个sort()方法用于对数组进行排序,该方法有多个重载形式,可以用于不同类型的数组排序。例如,对一个整型数组进行排序,可以使用以下代码:
```java
int[] arr = {5, 2, 9, 1, 5};
Arrays.sort(arr); // 对数组进行排序
System.out.println(Arrays.toString(arr)); // 输出排序后的数组元素
```
输出结果为:[1, 2, 5, 5, 9]
(2) Arrays类的二分查找功能
Arrays类还提供了一个binarySearch()方法用于在已排序的数组中查找指定元素的位置,如果数组中包含该元素,则返回其下标,否则返回一个负数。例如,对一个整型数组进行二分查找,可以使用以下代码:
```java
int[] arr = {1, 2, 5, 5, 9};
int index = Arrays.binarySearch(arr, 5); // 在数组中查找元素5
System.out.println(index); // 输出元素5的下标
```
输出结果为:2
需要注意的是,使用binarySearch()方法进行查找的数组必须是已经排序的,否则可能会得到不正确的结果。
相关问题
java数组之arrays类操作数组之数组排序
Java中的Arrays类提供了许多操作数组的方法,其中包括对数组进行排序的方法。
Arrays类中的sort()方法可以对数组进行排序,它有两种重载形式:
1. sort(int[] arr):对整型数组进行升序排序。
2. sort(Object[] arr):对对象数组进行升序排序,要求数组元素实现Comparable接口。
示例代码:
int[] arr = {5, 2, 8, 1, 9};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
输出结果:
[1, 2, 5, 8, 9]
注意:sort()方法会改变原数组的顺序,如果需要保留原数组,可以先复制一份再进行排序。
练习-Java数组之Arrays类操作数组之数组排序
在Java中,可以使用Arrays类提供的sort方法对数组进行排序。下面是一个示例代码:
```java
import java.util.Arrays;
public class ArraySortExample {
public static void main(String[] args) {
int[] numbers = { 5, 3, 9, 1, 7 };
// 使用Arrays.sort方法对数组进行排序
Arrays.sort(numbers);
// 输出排序后的数组元素
for (int i = 0; i < numbers.length; i++) {
System.out.print(numbers[i] + " ");
}
}
}
```
输出结果为:1 3 5 7 9。
可以看到,使用Arrays.sort方法对数组进行升序排序非常简单。如果需要对数组进行降序排序,可以使用Arrays.sort方法的重载方法,并传入自定义的Comparator对象。例如:
```java
import java.util.Arrays;
import java.util.Comparator;
public class ArraySortExample2 {
public static void main(String[] args) {
Integer[] numbers = { 5, 3, 9, 1, 7 };
// 使用自定义的Comparator对象对数组进行降序排序
Arrays.sort(numbers, new Comparator<Integer>() {
public int compare(Integer o1, Integer o2) {
return o2.compareTo(o1);
}
});
// 输出排序后的数组元素
for (int i = 0; i < numbers.length; i++) {
System.out.print(numbers[i] + " ");
}
}
}
```
输出结果为:9 7 5 3 1。
在上面的示例代码中,创建了一个自定义的Comparator对象,实现了compare方法,用于比较Integer对象的大小。然后,将这个Comparator对象作为第二个参数传递给Arrays.sort方法,即可对数组进行降序排序。