1. 使用临时变量:
public static int[] swap(int[] a, int[] b) {if (a.length != b.length) {System.out.println("长度不一致");return null;}int len = a.length;for (int i = 0; i < len; i++) {int tmp = a[i];a[i] = b[i];b[i] = tmp;}return a;}
2. 使用位运算(异或运算符):
public static int[] swap(int[] a, int[] b) {if (a.length != b.length) {System.out.println("长度不一致");return null;}int len = a.length;for (int i = 0; i < len; i++) {a[i] = a[i] ^ b[i];b[i] = a[i] ^ b[i];a[i] = a[i] ^ b[i];}return a;}
3. 使用Java库的`Collections.swap()`方法(仅适用于`List`集合):
import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Test {public static void main(String[] args) {Listlist1 = new ArrayList<>(); Listlist2 = new ArrayList<>(); list1.add(1);list1.add(2);list1.add(3);list2.add(4);list2.add(5);Collections.swap(list1, 0, 1);Collections.swap(list2, 0, 1);System.out.println(list1);System.out.println(list2);}}
4. 使用Java 8的流API(仅适用于`List`集合):
import java.util.ArrayList;import java.util.List;import java.util.stream.Collectors;public class Test {public static void main(String[] args) {Listlist1 = new ArrayList<>(); Listlist2 = new ArrayList<>(); list1.add(1);list1.add(2);list1.add(3);list2.add(4);list2.add(5);ListswappedList1 = list1.stream() .map((item, index) -> index == 0 ? list2.get(0) : item).collect(Collectors.toList());ListswappedList2 = list2.stream() .map((item, index) -> index == 0 ? list1.get(0) : item).collect(Collectors.toList());System.out.println(swappedList1);System.out.println(swappedList2);}}
请注意,以上方法适用于`int[]`类型的数组。对于其他类型的数组,只需将方法中的`int[]`替换为相应的类型即可。
另外,请确保在交换数组元素之前,两个数组的长度是相同的,否则交换操作可能会失败。

