Java程序检查数组是否包含给定值


在本文中,我们将了解如何使用两种方法检查数组是否包含给定值:线性搜索HashSet类。对于线性搜索,我们将迭代数组元素,将每个元素与给定的输入进行比较。对于HashSet类,我们将使用contains()方法来高效地实现这一点。

问题陈述

编写一个Java程序来检查数组是否包含给定的值:

输入1

Enter the number to be searched: 25
The elements in the integer array:
15 20 25 30 35

输出1

The array contains the given value
输入2
languages = Hindi, English, French, Japanese
English
输出2
English is in the array

不同的方法

以下是检查数组是否包含给定值的几种方法:

使用线性搜索方法

以下是检查数组是否包含用户输入的给定值的步骤:

  • 导入Scanner类
  • 声明变量:my_inputiarray_sizemy_check(布尔型)。
  • 初始化Scanner对象my_scanner
  • 提示并读取my_inputarray_size
  • 声明大小为array_size的整数数组my_array
  • 使用for循环迭代my_array,以检查是否有任何元素等于my_input
  • 如果找到匹配项,则将my_check设置为true并中断循环。
  • 根据my_check打印数组是否包含给定值。

示例

这是一个用户输入的示例:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        int my_input , i, array_size;
        boolean my_check = false;
        System.out.println("Required packages have been imported");
        Scanner my_scanner = new Scanner(System.in);
        System.out.println("A reader object has been defined ");
        System.out.println("Enter the number to be searched ");
        my_input = my_scanner.nextInt();
        System.out.print("Enter the value of array_size : ");
        array_size = my_scanner.nextInt();
        int my_array[] = new int[array_size];
        System.out.println("Enter the elements of the array :" );
        for ( i = 0 ; i < array_size ; i++ ) {
            my_array[i] = my_scanner.nextInt();
        }
        for ( i = 0 ; i < array_size ; i++ ) {
            if (my_array[i] == my_input) {
                my_check = true;
                break;
            }
        }
        if(my_check)
            System.out.println("\nThe array contains the given value");
        else
            System.out.println("\nThe array doesnot contain the given value");
    }
}

输出

Required packages have been imported
A reader object has been defined
Enter the number to be searched
25
Enter the size of array : 5
Enter the elements of the array :
10
15
20
25
30
The array contains the given value

使用HashSet类

以下是使用HashSet类检查数组是否包含给定值的步骤:

  • 首先从java.util包导入HashSet类。
  • 创建一个字符串数组并使用语言值对其进行初始化。
  • 创建一个HashSet对象来存储唯一的语言。
  • 遍历数组并将每种语言添加到HashSet
  • 定义一个目标语言,用于在数组中搜索。
  • 使用HashSetcontains()方法检查它是否包含目标语言

示例

这是一个使用HashSet类检查数组是否包含给定值的示例:

import java.util.HashSet;
public class Main {
    public static void main(String[] args) {
        String[] languages = {"Hindi", "English", "French", "Japanese"};
        String targetlanguage = "English";
        HashSet<String> languageSet = new HashSet<>();
        for (String language : languages) {
            languageSet.add(language);
        }
        if (languageSet.contains(targetlanguage)) {
            System.out.println(targetlanguage + " is in the array");
        } else {
            System.out.println(targetlanguage + " is not in the array");
        }
    }
}

输出

English is in the array

Alshifa Hasnain
Alshifa Hasnain

代码转换为清晰度

更新于:2024年8月2日

浏览量:1000+

启动您的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.