Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

자바 배열 포함

Java에서 배열로 작업할 때 배열에 특정 값이 포함되어 있는지 확인하고 싶은 상황이 발생할 수 있습니다.

예를 들어 이번 시즌에 조류 관찰 진행 상황을 추적하는 프로그램을 구축하는 경우 특정 종의 조류를 이미 보았는지 여부를 확인할 수 있는 기능을 구축할 수 있습니다.

배열에 특정 값이 포함되어 있는지 여부를 확인하는 데 사용할 수 있는 몇 가지 방법이 있습니다. 이 자습서에서는 for-each 루프, contains()를 사용하여 확인할 수 있는 방법을 예제와 함께 설명합니다. 및 stream() —Java 코드의 배열에 특정 값이 포함된 경우

이 튜토리얼을 읽고 나면 Java 프로그램의 배열에 특정 값이 포함되어 있는지 확인하는 전문가가 될 것입니다.

자바 배열

Java에서 배열은 단일 유형의 데이터를 보유하는 컨테이너입니다. 예를 들어, 배열에는 올해 뒤뜰에서 관찰한 조류 관찰에서 본 14종의 새 이름 목록이 포함될 수 있습니다. 이러한 배열에는 14개의 문자열 값이 포함됩니다.

배열은 개발자가 하나의 변수에 많은 수의 값을 저장할 수 있도록 하기 때문에 중요한 데이터 유형입니다. 이는 각 값을 별도의 변수로 저장하는 것보다 더 효율적이며 프로그램의 가독성을 유지하는 데 도움이 됩니다.

다음은 Java 배열의 예입니다.

String[] bagelShops;
bagelShops = new String[4];

이 예에서 우리는 string 값을 저장하는 bagelShops라는 배열을 선언했습니다. 그런 다음 bagelShops 변수가 4개의 문자열을 저장할 수 있어야 한다고 정의했습니다. 다음은 이 배열에 4개의 베이글 매장을 할당하는 데 사용할 코드입니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

String[] bagelShops = {"Absolute Bagels", "Bo's Bagels", "Brooklyn Bagel and Coffee Company", "Forest Hills Bagel"};

그러나 배열에 특정 값이 포함되어 있는지 확인하려면 어떻게 해야 할까요? 예를 들어, Forest Hills Bagel 가게가 즐겨찾는 베이글 가게 목록에 있는지 확인하고 싶다면 어떻게 해야 할까요? 사용할 수 있는 몇 가지 접근 방식을 살펴보겠습니다.

for-each 루프 사용

for-each 루프(enhanced for라고도 함) 루프는 for loop 형식입니다. 배열 또는 컬렉션의 모든 항목을 반복하는 데 사용할 수 있습니다. 예를 들어 for-each 루프를 사용하여 모든 동전을 동전 컬렉션에 저장하는 배열의 동전 목록을 반복할 수 있습니다.

배열에 특정 값이 포함되어 있는지 확인하기 위해 for 루프를 사용할 수 있습니다. 이 for 루프는 배열의 모든 항목을 반복하고 각 항목이 우리가 검색하는 항목과 같은지 확인합니다.

뉴욕시에 우리가 가장 좋아하는 베이글 가게 목록이 있고 Absolute Bagels가 목록에 있는지 확인하려고 한다고 가정합니다. 다음과 같은 간단한 루프를 사용하여 그렇게 할 수 있습니다.

class Main {
	public static void main(String[] args) {
		String[] bagelShops = {"Absolute Bagels", "Bo's Bagels", "Brooklyn Bagel and Coffee Company", "Forest Hills Bagel"};
		String shopToFind = "Absolute Bagels";
		boolean found = false;

		for (String shop : bagelShops) {
			if (shop == shopToFind) {
				found = true;
				break;
			}
		}

		if (found) {
			System.out.println("Absolute Bagels is on your list of favorite bagel stores!");
		} else {
			System.out.println("Absolute Bagels is not on your list of favorite bagel stores.");
	}
}

코드 반환:

Absolute Bagels is on your list of favorite bagel stores.

코드를 분해해 보겠습니다. 먼저 NYC에서 가장 좋아하는 베이글 가게 4곳을 저장하는 bagelShops라는 배열을 선언합니다.

그런 다음 shopToFind라는 변수를 선언하고 Absolute Bagels 값을 할당합니다. . 이것은 우리가 bagelShops 배열에서 검색하려는 값입니다. 다음으로, Absolute Bagels 목록에서 찾을 수 있습니다.

다음 줄에서 우리는 bagelShops 목록의 모든 항목을 반복하는 for-each 루프를 초기화합니다. 그런 다음 if를 사용합니다. bagelShops 목록의 각 개별 상점이 shopToFind 변수에 저장된 값과 같은지 확인하는 문입니다.

문이 true로 평가되면 find가 true로 설정되고 프로그램이 break를 실행하기 때문에 for-each 루프 실행이 중지됩니다. 성명. 문이 false로 평가되면 if 문의 코드가 실행되지 않습니다.

프로그램 끝에서 find가 true이면 코드는 Absolute Bagels is on your list of favorite bagel stores!를 인쇄합니다. 콘솔로; 그렇지 않으면 다음 코드가 콘솔에 인쇄됩니다. Absolute Bagels is not on your list of favorite bagel stores.

숫자 목록에 이 접근 방식을 사용할 수도 있습니다. 따라서 숫자 목록이 있고 목록에 특정 숫자가 포함되어 있는지 확인하려면 위의 예에서 사용한 것과 유사한 코드를 사용할 수 있습니다. 물론 이 경우 문자열 값 대신 숫자를 사용합니다.

contains() 메소드 사용

Java contains()를 사용하여 배열에 특정 값이 포함되어 있는지 확인할 수도 있습니다. 방법. contains() 하나의 매개변수를 허용합니다:배열에서 검색하려는 값.

contains() 메서드는 배열에 문자열 값이 포함되어 있는지 여부를 확인하는 데만 사용할 수 있습니다. 배열에서 숫자를 검색하려면 for-each 루프 기술을 대신 사용할 수 있습니다.

우리가 가장 좋아하는 밴드 목록이 있고 비틀즈가 그 목록에 있는지 확인하고 싶다고 가정합니다. 이를 위해 다음 코드를 사용할 수 있습니다.

class Main {
	public static void main(String[] args) {
		String[] favoriteBands = {"Beatles", "Revivalists", "Jonas Brothers"};
		String favoriteToFind = "Beatles";
		boolean found = favoriteBands.contains(favoriteToFind);

		if (found) {
			System.out.println("Beatles is on your list of favorite bands!");
		} else {
			System.out.println("Beatles is not on your list of favorite bands.");
		}
	}
}

코드 반환:

Beatles is on your list of favorite bands!

코드를 분해해 보겠습니다. 먼저 즐겨찾는 밴드의 이름 목록을 저장하는 FavoriteBands라는 배열을 선언합니다. 그런 다음 검색하려는 밴드의 이름을 저장하는 FavoriteToFind라는 변수를 선언합니다.

다음 줄에서는 contains()를 사용합니다. FavoriteBands 배열에 FavoriteToFind(Beatles)에 저장된 값이 포함되어 있는지 확인하려면 이 예에서는). contains()의 결과를 할당합니다. boolean에 대한 문을 발견했습니다.

find가 true이면 코드는 Beatles is on your list of favorite bands!를 인쇄합니다. 콘솔로; 그렇지 않으면 Beatles is not on your list of favorite bands.가 인쇄됩니다. 콘솔에.

stream() 메소드 사용

Java Arrays 패키지에는 배열 작업에 사용되는 여러 기능이 포함되어 있습니다. 이러한 함수 중 하나는 stream()입니다. , 배열에 특정 값이 포함되어 있는지 확인하는 데 사용할 수 있습니다. anyMatch()를 사용해야 합니다. stream()이 있는 메소드 기능을 수행합니다.

친구 Ada가 좋아하는 TV 프로그램 목록이 있고 공원 및 레크리에이션 그녀의 목록에 있습니다. 다음 코드를 사용하여 수행할 수 있습니다.

import java.util.Arrays;

class Main {
	public static void main(String[] args) {
		String[] favoriteShows = {"Billions", "Silicon Valley", "Superstore"};
		String showToFind = "Parks and Recreation";
		boolean found = Arrays.stream(favoriteShows).anyMatch(show -> show.equals(showToFind));

		if (found) {
			System.out.println("Parks and Recreation is on Ada's list of favorite TV shows.");
		} else {
			System.out.println("Parks and Recreation is not on Ada's list of favorite TV shows.");
		}
	}
}

코드 반환:

Parks and Recreation is not on Ada's list of favorite TV shows.

코드를 분해해 보겠습니다. 먼저 Java Arrays 패키지를 가져옵니다. 이를 위해 다음 코드를 사용합니다. import java.util.Arrays; .

다음으로, FavoriteShows라는 배열을 선언합니다. 이 배열은 Ada가 좋아하는 TV 프로그램 목록을 저장합니다. 그런 다음 찾고자 하는 쇼의 이름을 저장하는 showToFind라는 변수를 선언합니다. 이 경우 Parks and Recreation 값을 할당합니다. 찾기를 표시합니다.

그런 다음 Arrays.stream()을 사용합니다. 및 anyMatch() showToFind에 저장된 값이 FavoriteShows 배열에 있는지 확인하는 메서드입니다. 이 메서드는 찾은 부울 변수에 할당된 true 또는 false 값을 반환합니다.

발견된 변수가 true로 평가되면 프로그램은 Parks and Recreation is on Ada’s list of favorite TV shows.을 인쇄합니다. 콘솔에. 그렇지 않으면 우리 프로그램은 Parks and Recreation is not on Ada’s list of favorite TV shows. 콘솔에.

결론

배열에 특정 값이 포함되어 있는지 확인하는 것은 Java에서 일반적인 작업입니다. 배열에 특정 값이 포함되어 있는지 확인하는 세 가지 주요 접근 방식은 다음과 같습니다.

  • for-each 루프
  • 포함()
  • 스트림()

이 튜토리얼에서는 예제를 사용하여 Java의 배열에 특정 값이 포함되어 있는지 확인하는 방법에 대해 설명했습니다. 이제 전문 개발자처럼 Java 배열에 특정 값이 포함되어 있는지 확인하는 데 필요한 기술을 갖추었습니다!