Java의 배열에 요소가 있는지 확인

배열에 값이 있는지 확인하고 가능한 경우 해당 위치를 검색하려고 합니다. 다음 세 가지 방법 중 하나를 선택할 수 있습니다.
  • 배열을 탐색하고 모든 상자를 입력 값과 비교합니다.
  • contains()
  • 방법  BinarySearch()

1) 배열을 탐색하여 요소를 검색합니다

이 예에서는 exists() 배열이 존재하면 찾고 있는 값의 위치를 반환하고, 그렇지 않으면 -1을 반환하고 배열에 이 값이 없음을 나타내는 메시지를 표시합니다.

public class Test {

public static void main(String[] args) {
int T[]={1, 5, 2, 22, 14, 3, 18, 52, 40, 88, 73, 27};
int valrech=22;
int 위치 = exists(T, valrech);
if(position!=-1)
System.out.println(valrech+"는 "+position" 위치에 있음);

}

정적 int exists(int T[], int val){
for(int i = 0 ; i< T. 길이; i++){
if(val==T[i])
//현재 위치 반환
반환 i;
}
System.out.println("찾고 있는 값이 존재하지 않습니다.");
-1을 반환합니다.
}
}
Output

22는 3
문자열의 비교는 "=="가 아닌 equals() 메서드로 수행됩니다. 기사 읽기java에서 두 문자열을 비교하는 방법.

2) 배열에 요소가 있는지 확인하십시오

이 방법은 요소의 존재 여부만 테스트합니다. 이 예제에서 다음 코드는 string 형식과 int 형식을 모두 비교할 수 있습니다. contains을 사용하는 경우 toString(T).

import java.util.Arrays; 

public 클래스 테스트 {

public static void main(String[] args) {
int T[]={100,150,180,220,240};
System.out.println(포함(T, "220"));

}

정적 public boolean contains(int[] T, String val) {
return Arrays.toString(T).contains(val);
}
}
Output

true
contains() 은 String 유형을 지원하지만 int 유형은 지원하지 않습니까? int 는 기본 유형이고 String 은 인스턴스화 후 객체가되어 contains(Object o) 객체만 찾습니다.

Integer.valueOf(T[i]), 그렇지 않으면 Integer 객체가 처음부터 사용됩니다. 이 코드는 두 코드의 차이점을 보여줍니다.

import java.util.Arrays; 

public 클래스 테스트 {

public static void main(String[] args) {
int T[]={10,14,28,201,280};
정수[] t2 = {10,14,28,201,280};
//배열 int
System.out.println(Arrays.asList(T).contains(28));
//배열 정수
System.out.println(Arrays.asList(T2).contains(28));
}
}
Output

false
true

3) BinarySearch 메서드로 값을 찾습니다

이 메서드는 모든 유형을 허용하므로 일반적입니다. 정수, float, char, double, boolean, short 등

import java.util.Arrays; 

public class Test {
public static void main(String[] args) {
int T[]={'a','b','c','d','e','f'};
System.out.println("찾고 있는 값은 in
위치 "+Arrays.binarySearch(T,'d'));
}
}
Output:

찾고 있는 값은 3