CodeGym/Java Blog/무작위의/Java의 HashSet contains() 메소드
John Squirrels
레벨 41
San Francisco

Java의 HashSet contains() 메소드

무작위의 그룹에 게시되었습니다
회원

해시셋이란 무엇입니까?

HashSet은 Java에 내장된 데이터 유형이며 평신도 용어로 "HashSet은 고유한 요소의 정렬되지 않은 컬렉션입니다."라고 말할 수 있습니다. 기본 예를 살펴보십시오.Java의 HashSet contains() 메서드 - 2
그림 1: HashSet의 유효한 예와 잘못된 예를 보여주는 그림
(더 진행하기 전에 해싱해시 테이블 이라는 용어에 대해 알고 있어야 합니다 .) HashSet은 확장( 확장은 클래스가 다른 클래스에서 상속 됨을 의미) AbstractSet을 확장 하고 Set 인터페이스를 구현합니다. 다음은 HashSet으로 작업하기 전에 고려해야 할 몇 가지 사항입니다.
  • 이것은 저장을 위해 해시 테이블을 사용하는 컬렉션을 생성합니다( 컬렉션은 객체의 단일 단위를 의미합니다. 예: ArrayList, LinkedList, Vector 등).
  • HashSet에는 중복 값이 ​​허용되지 않습니다.
  • HashSet에 "null" 값을 삽입할 수 있습니다.
  • 삽입 순서가 유지되지 않습니다. 따라서 항목을 순서대로 삽입하려는 경우 HashSet은 요구 사항에 적합하지 않은 선택입니다.
  • 일정한 시간 (O(1)) 에 요소를 가져오거나 검색하려는 경우 HashSet을 사용하는 것이 가장 좋은 방법 중 하나입니다.

HashSet.contains() 메서드란 무엇입니까?

HashSet.contains()는 항목이 HashSet의 인스턴스에 있는지 여부를 확인하는 부울 메서드입니다. 간단히 말해 세트에 원하는 요소가 포함되어 있는지 여부입니다. Java.util.HashSet은 이에 대한 효율적인 구현을 제공합니다. 이를 효과적으로 사용하여 쿼리를 해결하는 방법을 보여드리겠습니다.

정수를 포함하는 contains()

import java.util.HashSet;

public class HashSetDemo {
   public static void main(String[] args) {

       // Declare your hash set
       HashSet digits = new HashSet();

       digits.add(0);
       digits.add(1);
       digits.add(2);
       digits.add(3);
       digits.add(4);
       digits.add(5);
       digits.add(null);
       System.out.println("All elements in hashset:\t" + digits);

       // Try adding duplicates
       digits.add(5);
       digits.add(2);
       System.out.println("After adding duplicates: \t" + digits);

       System.out.println("\n-------Using Contains Method-------");
       // Check out if the following digits exist in the hashset
       System.out.println("digits.contains(0) : " + digits.contains(0));
       System.out.println("digits.contains(2) : " + digits.contains(2));
       System.out.println("digits.contains(3) : " + digits.contains(7));
       System.out.println("digits.contains(null) : " + digits.contains(null));
   }
}
산출
해시셋의 모든 요소: [0, null, 1, 2, 3, 4, 5] 중복 추가 후: [0, null, 1, 2, 3, 4, 5] -------포함 방법 사용- ------ digits.contains(0) : 참 digits.contains(2) : 참 digits.contains(3) : 거짓 digits.contains(null) : 참

문자열을 포함하는 contains()

Strings 를 사용한 contains() 메소드 의 또 다른 예를 살펴보십시오 .
import java.util.HashSet;
public class HashSetDemo {
     public static void main(String[] args) {

	  // Try working with another hash set of String type
	  HashSet rainbow = new HashSet();

        // Adding elements into HashSet using add()
        rainbow.add("Red");
        rainbow.add("Orange");
        rainbow.add("Yellow");
        rainbow.add("Green");
        rainbow.add("Blue");
        rainbow.add("Indigo");
        rainbow.add("Violet");


        // Let's traverse the hashset
        System.out.println("Traversing the rainbow:");
        for (String i : rainbow){
             System.out.println(i);
        }
       // Check out if rainbow contains this color or not
    	 System.out.println("\n-------Using Contains Method-------");

        System.out.println("rainbow.contains(\"Yellow\"): \t" + rainbow.contains("Yellow"));
        System.out.println("rainbow.contains(\"White\"): \t"  + rainbow.contains("White"));
        System.out.println("rainbow.contains(\"Lavender\"): \t"  + rainbow.contains("Lavender"));
        System.out.println("rainbow.contains(\"Red\"): \t"  + rainbow.contains("Red"));

        // Remove a color from rainbow using remove()
        rainbow.remove("Red");

        // Now consume  set contains() method again to check if it's still present
        System.out.println("rainbow.contains(\"Red\"): \t"  + rainbow.contains("Red"));

        System.out.println("\nAfter removing Red: " + rainbow);
	}
}
산출
무지개 횡단: 빨간색 보라색 노란색 파란색 남색 주황색 녹색 -------포함 방법 사용------- rainbow.contains("Yellow"): true rainbow.contains("White"): 거짓 무지개. contains("Lavender"): false rainbow.contains("Red"): true rainbow.contains("Red"): false Red 제거 후: [Violet, Yellow, Blue, Indigo, Orange, Green]
보시다시피 출력 순서는 요소를 Hashset에 넣는 순서와 다릅니다.

결론

HashSets에 대한 contains() 메서드 는 사용하기 매우 간단합니다. 그러나 혼란스러운 경우 언제든지 이 게시물을 참조할 수 있습니다. 행복한 코딩! :)
코멘트
  • 인기
  • 신규
  • 이전
코멘트를 남기려면 로그인 해야 합니다
이 페이지에는 아직 코멘트가 없습니다