Java 如何检查给定的数组是否不相交

Java 如何检查给定的数组是否不相交

在Java中,数组是一个对象。它是一种非原始数据类型,用于存储相似数据类型的值。

根据问题陈述,我们需要检查给定的数组是否不相交。如果两个数组没有共同元素,即第一个数组中的元素不等于第二个数组中的元素,则称为不相交数组。

让我们通过使用Java编程语言来探索本文,看看如何实现。

示例展示

示例1

Suppose the original two arrays are {13, 44, 11, 19, 3} and {7, 12, 1, 5}.

在检查给定两个数组的不相交性后,结果将为−

The arrays are disjoint

示例2

Suppose the original two arrays are {22, 4, 15, 9, 53} and {71, 4, 1, 22}

在给定的两个数组中检查是否有不相交的元素,结果如下:

The arrays are not disjoint

示例3

Suppose the original two arrays are {15, 14, 91,9, 1} and {24, 2, 21, 85}

在检查给定的两个数组是否不相交后,结果将为 –

The arrays are disjoint

步骤

  • 步骤 1 - 声明并初始化一个整数数组。

  • 步骤 2 - 声明一个布尔值来检查是否不相交。

  • 步骤 3 - 声明两个嵌套的循环。

  • 步骤 4 - 检查 arr1[i] 是否等于 arr2[j]。

  • 步骤 5 - 如果 arr1[i] 等于 arr2[j],则打印数组不是不相交的。

  • 步骤 6 - 否则打印数组是不相交的。

语法

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

下面是其语法:

array.length

其中’array’是数组引用。

多种方法

我们提供了不同的方法来解决问题。

  • 通过使用数组的静态初始化

  • 通过使用用户定义的方法

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

方法1:通过使用数组的静态初始化

示例

在这种方法中,数组元素将在程序中进行初始化。然后根据算法检查给定的数组是否不相交。

import java.util.*;
public class Main{

   //main method
   public static void main(String[] args) {

      //Declare and initialize two array elements
      int arr1[] = { 15, 14, 91,9, 1 };
      int arr2[] = { 24, 2, 21, 85 };

      //declare boolean to check for disjoint or not
      boolean flag = false;

      //logic implementation
      for(int i = 0;i<arr1.length;i++){
         for(int j=0;j<arr2.length;j++){
            if(arr1[i] == arr2[j]){
               flag = true;
               break;
            }
         }
      }
      System.out.println("First array is: "+Arrays.toString(arr1));
      System.out.println("Second array is: "+Arrays.toString(arr2));

      // print array are disjoint
      if(!flag) {
         System.out.println("The arrays are disjoint");
         return;
      }

      // print array are not disjoint
      else {
         System.out.println("The arrays are not disjoint");   
      }
   }
}

输出

First array is: [15, 14, 91, 9, 1]
Second array is: [24, 2, 21, 85]
The arrays are disjoint

方法2:使用用户定义的方法

示例

在这个方法中,数组元素将在程序中初始化。然后通过将数组作为参数传递,调用一个用户定义的方法,并在方法内根据算法检查给定的数组是否互斥。

import java.util.*;
public class Main{

   //main method
   public static void main(String[] args) {

      //Declare and initialize two array elements
      int arr1[] = { 22, 4, 15, 9, 53 };
      int arr2[] = { 71, 4, 1, 22 };
      System.out.println("First array is: "+Arrays.toString(arr1));
      System.out.println("Second array is: "+Arrays.toString(arr2));

      //calling user defined method
      func(arr1, arr2);   
   }

   //declaring user defined method
   static void func(int []arr1, int []arr2){

      //declare boolean to check for disjoint or not
      boolean flag = false;

      //logic implementation
      for(int i = 0;i<arr1.length;i++){
         for(int j=0;j<arr2.length;j++){
            if(arr1[i] == arr2[j]){
               flag = true;
               break;
            }
         }
      }

      // print array are disjoint
      if(!flag) {
         System.out.println("The arrays are disjoint");
         return;
      }

      // print array are not disjoint
      else{
         System.out.println("The arrays are not disjoint");   
      }
   }
}

输出

First array is: [22, 4, 15, 9, 53]
Second array is: [71, 4, 1, 22]
The arrays are not disjoint

在本文中,我们探讨了如何使用Java编程语言来检查给定的数组是否不相交。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程