Java程式驗證陣列中是否存在給定元素
給定一個陣列和一個作為輸入的元素,編寫一個Java程式來檢查該元素是否存在於給定陣列中。您可以使用搜索演算法查詢陣列中的任何元素。在本文中,我們將使用線性搜尋和二分搜尋演算法。
使用線性搜尋演算法
在這種方法中,請按照以下步驟驗證陣列中是否存在給定元素:
- 使用for迴圈遍歷陣列。
- 將每個元素與所需元素進行比較。
- 如果找到,則返回索引。
示例
以下Java程式演示瞭如何使用線性搜尋演算法檢查陣列中是否存在給定元素。
import java.util.*; public class ArraySearch { public static void main(String[] args) { int[] myArray = {23, 93, 56, 92, 39}; System.out.println("Elements of the given array: " + Arrays.toString(myArray)); int searchVal = 39; System.out.println("The value to be searched: " + searchVal); // checking if the element is present for (int i =0 ; i < myArray.length; i++) { if (myArray[i] == searchVal) { System.out.println("The index of element " + searchVal + " is : " + i); } } } }
執行此程式碼時,將顯示以下輸出:
Elements of the given array: [23, 93, 56, 92, 39] The value to be searched: 39 The index of element 39 is : 4
使用Arrays.binarySearch()方法
Arrays類的java.util包提供了一個名為binarySearch()的方法,此方法接受一個已排序的陣列和一個要搜尋的值,並返回該元素在陣列中的索引。
示例
在此示例中,我們使用binarySearch()方法來驗證陣列中是否存在給定元素。
import java.util.Arrays; import java.util.Scanner; public class ArraySearch { public static void main(String[] args) { int[] myArray = {23, 93, 56, 92, 39}; System.out.println("Elements of the given array: " + Arrays.toString(myArray)); int searchVal = 39; System.out.println("The value to be searched: " + searchVal); //Sorting the array Arrays.sort(myArray); System.out.println("The sorted int array is:"); for (int number : myArray) { System.out.print(number+" "); } System.out.println(" "); int retVal = Arrays.binarySearch(myArray,searchVal); System.out.println("Element found"); System.out.println("The index of element in the sorted array: " + retVal); } }
執行上述程式碼後,將顯示以下結果:
Elements of the given array: [23, 93, 56, 92, 39] The value to be searched: 39 The sorted int array is: 23 39 56 92 93 Element found The index of element in the sorted array: 1
廣告