如何在 Java 中交换两个数组元素


数组是一种线性数据结构,其中元素存储在连续的内存位置。

根据问题陈述,我们必须将两个数组元素相互交换。用其他话说,交换两个数组元素也可以称为互换或交换两个元素。

让我们探索这篇文章,看看如何使用 Java 编程语言来实现。

为您展示一些实例

实例 1

假设我们有以下数组:[10, 2, 3, -5, 99, 12, 0, -1]

现在如果我们交换第 5 个和第 8 个元素,

那么,我们将得到新的数组 [10, 2, 3, -5, -1, 12, 0, 99]

实例 2

假设我们有以下数组:[55, 10, 29, 74, 12, 45, 6, 5, 269]

现在如果我们交换第 4 个和第 8 个元素

那么,我们将得到新的数组 [55, 10, 29, 5, 12, 45, 6, 74, 269]

实例 3

假设我们有以下数组:[556, 10, 259, 874, 123, 453, -96, -54, -2369]

现在如果我们交换第 2 个和第 6 个元素

那么,我们将得到新的数组 [556, 453, 259, 874, 123, 10, -96, -54, -2369]

算法

算法 1(使用第三个变量)

  • 步骤 1 - 存储数组后,取两个索引来交换元素。

  • 步骤 2 - 将第一个元素存储在一个临时变量中。

  • 步骤 3 - 现在将第二个元素的值存储在第一个元素中

  • 步骤 4 - 最后将临时变量的值存储在第二个元素中。

  • 步骤 5 - 打印数组元素。

算法 2(不使用第三个变量)

  • 步骤 1 - 存储数组后,取两个索引来交换元素。

  • 步骤 2 - 将第一个和第二个元素相加,然后将其存储在第一个元素中。

  • 步骤 3 - 从第一个元素中减去第二个元素,并将结果存储在第二个元素中。

  • 步骤 4 - 再次从第一个元素中减去第二个元素,并将结果存储在第一个元素中。

  • 步骤 5 - 打印数组元素。

语法

要获取数组的长度(数组中元素的数量),数组有一个内置属性,即length

以下是它的语法:

array.length

其中,“array”指的是数组引用。

您可以使用 Arrays.sort() 方法将数组按升序排序。

Arrays.sort(array_name);

多种方法

我们提供了不同方法的解决方案。

  • 使用第三个变量交换两个数组元素。

  • 不使用第三个变量交换两个数组元素。

让我们逐一查看程序及其输出。

方法 1:使用第三个变量

在这种方法中,我们使用另一个变量来临时保存一个元素的值,从而交换数组元素。

示例

import java.io.*;
import java.util.Arrays;
public class Main {
   public static void main(String[] args) {
      
      // The array elements
      int arr[] = { 10, 2, 3, -5, 99, 12, 0, -1 };
      
      // Print all array elements
      System.out.println("The array elements before swapping are-");
      for (int i : arr) {
         System.out.print(i + " ");
      }
      
      // We will be swapping 2nd index element with 4th index element
      int firstIndex = 2, secondIndex = 4;
      
      // Temp variable
      int temp = arr[firstIndex];
      
      // Swapping
      arr[firstIndex] = arr[secondIndex];
      arr[secondIndex] = temp;
      
      // Print all array elements
      System.out.println("\nThe array elements after swapping are-");
      for (int i : arr) {
         System.out.print(i + " ");
      }
   }
}

输出

The array elements before swapping are-
10 2 3 -5 99 12 0 -1 
The array elements after swapping are-
10 2 99 -5 3 12 0 -1 

方法 2:不使用第三个变量

在这种方法中,我们不像先前的方法那样使用另一个变量来交换数组元素。

示例

import java.io.*;
import java.util.Arrays;
public class Main {
   public static void main(String[] args) {
      // The array elements
      int arr[] = { 10, 2, 3, -5, 99, 12, 0, -1 };
      
      // Print all array elements
      System.out.println("The array elements before swapping are-");
      for (int i : arr) {
         System.out.print(i + " ");
      }
      
      // We will be swapping 2nd index element with 4th index element
      int firstIndex = 2, secondIndex = 4;
      
      // Swapping array elements
      arr[firstIndex] = arr[firstIndex] + arr[secondIndex];
      arr[secondIndex] = arr[firstIndex] - arr[secondIndex];
      arr[firstIndex] = arr[firstIndex] - arr[secondIndex];
      
      // Print all array elements
      System.out.println("\nThe array elements after swapping are-");
      for (int i : arr) {
         System.out.print(i + " ");
      }
   }
}

输出

The array elements before swapping are-
10 2 3 -5 99 12 0 -1 
The array elements after swapping are-
10 2 99 -5 3 12 0 -1 

在这篇文章中,我们探讨了如何使用 Java 编程语言来交换两个数组元素。

更新于: 2023 年 1 月 31 日

15K+ 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告