java数组中两个数怎么调换

ID:16421 / 打印
在 java 数组中调换两个数的方法有四种:使用临时变量使用异或运算使用 collections.swap() 方法使用 java 8+ 的流

java数组中两个数怎么调换

在 Java 数组中调换两个数

方法 1:使用临时变量

  • 创建一个临时变量来存储其中一个数字。
  • 将另一个数字分配给第一个数字。
  • 将临时变量的值分配给第二个数字。
int[] arr = {1, 2, 3}; int temp = arr[0]; arr[0] = arr[1]; arr[1] = temp;

方法 2:使用异或运算

异或运算符 (^) 可以用来调换两个数字,而不需要临时变量:

立即学习“Java免费学习笔记(深入)”;

int[] arr = {1, 2, 3}; arr[0] ^= arr[1]; arr[1] ^= arr[0]; arr[0] ^= arr[1];

这个过程的工作原理如下:

  • arr[0] 和 arr[1] 的异或结果存储在 arr[0] 中,即 arr[0] = arr[0] ^ arr[1]。
  • arr[1] 和 arr[0] 的异或结果存储在 arr[1] 中,即 arr[1] = arr[1] ^ arr[0]。
  • arr[0] 和 arr[1] 的异或结果存储在 arr[0] 中,即 arr[0] = arr[0] ^ arr[1],这将使 arr[0] 恢复其原始值。

方法 3:使用 Collections.swap() 方法

如果数组是由集合类(如 ArrayList)存储的,则可以使用 Collections.swap() 方法轻松调换两个数字:

List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3);  Collections.swap(list, 0, 1);

方法 4:使用 Java 8+ 的流

Java 8+ 中的流 API 提供了一种方便的方法来调换数组中的两个数字:

int[] arr = {1, 2, 3};  int temp = IntStream.of(arr[0], arr[1])         .reduce((a, b) -> a ^ b)         .getAsInt();  arr[0] ^= temp; arr[1] ^= temp; arr[0] ^= temp;
上一篇: java里多维数组的长度怎么算
下一篇: java函数怎么调用数组参数的函数

作者:admin @ 24资源网   2024-11-27

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。