본문 바로가기
프로그래밍/Java

[JAVA]자바 List Contains 메소드 완벽 가이드: 정의, 사용법, 예제 코드

by wyatti 2023. 6. 20.

Java의 List Contains 메소드에 대해 자세히 알아보세요. 이 포스트에서는 Contains 메소드의 정의, 동작 방식, 그리고 실제 활용 예제를 소개합니다. List에 특정 요소가 있는지 확인하는 방법을 완벽하게 이해할 수 있습니다." - 메타 설명은 검색 결과에서 페이지의 내용을 요약하는 역할을 합니다. 페이지의 주요 내용과 키워드를 명확하게 전달해야 합니다.
Java List Contains 메소드 완벽 가이드: 정의, 사용법, 예제 코드

 

안녕하세요, 여러분의 Java 학습 동밈로 함께하게 된 프로그래밍 가이드 입니다. 오늘은 Java에서 꼭 필요한 내용 중 하나인 List 인터페이스의 Contains 메소드에 대해 이야기해 보려 합니다. 이 포스트를 통해 이 메소드의 사용법을 완전히 이해하고, 실제 프로그래밍에 적용하는 데 어떻게 활용하는지 알아보겠습니다.

 

 

List Contains의 이해

먼저 List의 Contains 메소드가 무엇인지 알아보겠습니다. Java에서 List는 자료구조 중 하나로, 동적 배열이라는 특징을 가지고 있습니다. List 인터페이스를 상속받아 구현된 클래스에는 ArrayList, LinkedList 등이 있습니다.

contains 메소드는 이 List 내에 특정 요소가 포함되어 있는지 확인하는 데 사용됩니다. 반환 타입은 boolean으로, 해당 요소가 존재할 경우 true, 그렇지 않을 경우 false를 반환합니다.

기본 사용법은 다음과 같습니다.

List<String> list = new ArrayList<String>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");

boolean contains = list.contains("Banana"); // true

위 예제에서 볼 수 있듯이, "Banana"는 리스트에 포함되어 있으므로 contains 메소드는 true를 반환합니다.

 

 

 

Contains 메소드의 동작 방식

Contains 메소드가 어떻게 동작하는지 이해하려면 equals 메소드에 대해 알아야 합니다. contains 메소드는 내부적으로 equals 메소드를 사용하여 리스트의 각 요소를 검사합니다. 따라서 사용자 정의 객체를 리스트에 저장하고 해당 객체가 리스트에 존재하는지 확인하려면 해당 객체에 대한 equals 메소드를 적절히 오버라이드해야 합니다.

class Fruit {
    private String name;

    Fruit(String name) {
        this.name = name;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Fruit fruit = (Fruit) o;
        return Objects.equals(name, fruit.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name);
    }
}

List<Fruit> list = new ArrayList<>();
list.add(new Fruit("Apple"));
list.add(new Fruit("Banana"));

boolean contains = list.contains(new Fruit("Banana")); // true

위 예제에서는 Fruit이라는 클래스를 정의하고, equals 메소드를 오버라이드하여 name 속성이 같은 경우 동일한 객체로 취급하도록 했습니다. 이렇게 하면 contains 메소드를 사용하여 "Banana"라는 이름을 가진 Fruit 객체가 리스트에 존재하는지 확인할 수 있습니다.

 

 

Contains 메소드의 활용

마지막으로 contains 메소드가 실제 프로그래밍에 어떻게 활용되는지 알아보겠습니다. 대표적으로 사용자의 입력 값이 특정 리스트에 포함되어 있는지 확인하거나, 서로 다른 두 리스트에 같은 요소가 있는지 확인하는 데 사용됩니다.

Scanner scanner = new Scanner(System.in);
List<String> fruits = Arrays.asList("Apple", "Banana", "Cherry");

System.out.print("Enter a fruit name: ");
String input = scanner.nextLine();

if (fruits.contains(input)) {
    System.out.println(input + " is in the list!");
} else {
    System.out.println(input + " is not in the list.");
}

위 예제는 사용자로부터 과일의 이름을 입력 받아, 그것이 리스트에 있는지를 contains 메소드로 확인합니다. 사용자가 "Banana"를 입력하면 "Banana is in the list!"라는 메시지가 출력됩니다.

 

 

마무리

이 포스트에서는 Java의 List 인터페이스의 Contains 메소드에 대해 알아보았습니다. 이 메소드를 통해 특정 요소가 리스트에 포함되어 있는지 쉽게 확인할 수 있습니다. 또한 equals 메소드와의 연관성을 이해하면, 사용자 정의 객체에 대한 검사도 쉽게 수행할 수 있습니다.

이 포스트가 여러분의 Java 학습에 도움이 되길 바랍니다. 다음 포스트에서는 또 다른 중요한 Java 기능에 대해 알아보도록 하겠습니다. 감사합니다!

댓글