请编写一个泛型方法,实现将任意一个数组中的元素按照指定顺序交换位置的功能。 要求: - 泛型方法名为swap,参数列表为int类型数组arr,整数i和j,表示要交换的两个位置。 - 实现swap方法,将数组arr中下标为i和j的元素交换位置;返回交换后的数组。
时间: 2024-02-19 12:59:12 浏览: 63
好的,下面是实现swap方法的代码:
```java
public static <T> T[] swap(T[] arr, int i, int j) {
T temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
return arr;
}
```
这个方法接受一个泛型类型的数组 `arr`,以及两个整数 `i` 和 `j`,表示要交换的两个位置。它首先用一个临时变量 `temp` 存储 `arr[i]`,然后将 `arr[i]` 赋值为 `arr[j]`,最后将 `arr[j]` 赋值为 `temp`,从而完成了位置的交换。最后,它返回交换后的数组 `arr`。
你可以将这个方法用于任意类型的数组,例如:
```java
Integer[] numbers = {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(swap(numbers, 1, 3))); // 输出 [1, 4, 3, 2, 5]
String[] strings = {"foo", "bar", "baz"};
System.out.println(Arrays.toString(swap(strings, 0, 2))); // 输出 ["baz", "bar", "foo"]
```
阅读全文