Java에서 HashSet이 무엇이며 어떻게 시작하는지 알아보십시오!



Java의 HashSet에 대한이 기사는 Java의 HashSet이 정확히 무엇인지와이를 구현하는 방법에 대한 전체 개요를 제공합니다. 또한 Java HashSet 클래스에서 지원하는 다양한 메소드와 생성자에 대해서도 설명합니다.

Java의 HashSet은 다음의 가장 중요한 측면 중 하나입니다. . 일반적으로 순서가 지정되지 않은 방식으로 고유 한 값을 저장하는 데 사용됩니다. Java의 HashSet에 대한이 기사의 매체를 통해 HashSet이 정확히 무엇인지, 그리고이를 애플리케이션에서 어떻게 사용할 수 있는지에 대한 완전한 설명을 제공 할 것입니다.

이 기사에서 다루는 주제는 다음과 같습니다.





먼저 Java에서 HashSet이 무엇인지 이해하는 것으로 시작하겠습니다.

자바의 HashSet



java.util.HashSet 수업 Java 컬렉션 프레임 워크의 멤버입니다.AbstractSet 클래스를 상속하고구현세트 상호 작용 . 고유 한 요소 모음을 만들고 저장하기위한 해시 테이블을 암시 적으로 구현합니다. Hashtable은 HashSet 내에 정보를 저장하기 위해 해싱 메커니즘을 사용하는 HashMap 클래스의 인스턴스 일뿐입니다.

해싱은 정보 콘텐츠를 해시 코드로 더 널리 알려진 고유 한 값으로 변환하는 프로세스입니다. 이 해시 코드는 키와 관련된 데이터를 인덱싱하는 데 사용됩니다. 정보 키를 해시 코드로 변환하는 전체 프로세스는 내부적으로 수행됩니다.

이제 Java의 HashSet에 대해 더 잘 이해하기 위해 몇 가지 기능을 나열하겠습니다.



  1. Java의 HashSet은 중복 값을 허용하지 않습니다.
  2. null 값을 포함 할 수 있습니다.
  3. HashSet은 데이터 저장을위한 삽입 순서를 따르지 않고 그 안의 값을 색인화하기 위해 해시 코드를 사용합니다.
  4. 비입니다 동기화 됨 자동으로 스레드가 안전하지 않게 만듭니다.
  5. HashSet 클래스는 또한 Cloneable 및직렬화 가능한 인터페이스.

이제 Java에서 HashSet이 정확히 무엇인지 알게되었으므로이 기사를 계속 진행하고 Java에서 HashMap과 HashSet의 차이점을 설명하겠습니다.

자바 HashSet 대 HashMap

HashSet HashMap
구현java.util.인터페이스 설정구현java.util.Map
데이터를 객체로 저장키-값 쌍의 형태로 데이터를 저장합니다.
HashSet은 객체 초기화를 위해 하나의 매개 변수 만 필요합니다.객체 초기화를 위해 두 개의 매개 변수 (키, 값)가 필요합니다.
중복 요소를 허용하지 않습니다.중복 키는 허용되지 않지만 중복 값은 저장할 수 있습니다.
단일 null 값 허용단일 null 키와 임의의 수의 null 값을 허용합니다.
HashSet 사용 add ()데이터 추가 또는 저장 방법HashMap은 데이터 저장을 위해 put () 메서드를 사용합니다.

이제 HashMap과 HashSet을 명확히 구분 했으므로 이제 HashSet에 다시 집중하고 더 자세히 살펴 보겠습니다. 이 기사의 다음 섹션에서는 Java에서 HashSet의 전체 계층 구조를 소개합니다.

자바의 HashSet 계층

아래 그림에서 볼 수 있듯이HashSet 클래스는 Set 인터페이스를 구현합니다. Set 인터페이스는 Collection 인터페이스를 상속하여 결국 계층 적 순서로 Iterable 인터페이스를 확장합니다.

PHP에서 에코는 무엇입니까

Java HashSet 계층 구조-Java의 HashSet-Edureka

이제이 HashSet in Java 기사로 진행하여 다양한 생성자 이 클래스에서 지원합니다.

java.util.HashSet 클래스 생성자

빌더 기술
HashSet () HashSet 클래스의 기본 생성자입니다.
HashSet (int 용량) 이 생성자는 해시 세트의 초기 용량을 초기화하는 데 사용됩니다. 새로운 요소를 추가하면 용량이 동적으로 증가 할 수 있습니다.
HashSet (int 용량, float loadCapacity) 이 생성자는 부하 용량과 함께 해시 세트의 초기 용량을 초기화하는 데 사용됩니다.
HashSet (콜렉션 c) 이 생성자는 초기화하는 데 사용됩니다.컬렉션 c의 요소를 사용하여 설정된 해시

이들은 HashSet 클래스의 네 가지 생성자였습니다. . 이제 다양한 것이 무엇인지 알아 보겠습니다. Java HashSet에 정의되어 있습니다.

java.util.HashSet 클래스의 메소드

방법 기술
부울 add (Object obj) 이 메서드는 지정된 요소가없는 경우에만 HashSet에 추가하는 데 도움이됩니다.
무효 clear () 이 메서드는 HashSet에서 모든 요소를 ​​제거하는 데 도움이됩니다.
개체 clone () 이 메소드는 HashSet 요소의 복제본이 아닌 HashSet 인스턴스의 얕은 사본을 리턴합니다.
부울 contains (Object o) 이 메서드는 전달 된 요소가 HashSet 내에있는 경우 true를 반환합니다.
부울 isEmpty () 이 메서드는 HashSet이 비어있는 경우 true를 반환합니다.
반복자 iterator () 이 메서드는 HashSet에있는 요소에 대한 반복자를 반환합니다.
부울 제거 (Object o) 이 메서드는 지정된 요소가있는 경우 HashSet에서 제거하는 데 도움이됩니다.
int 크기 () 이 메서드는 HashSet에있는 총 요소 수를 반환합니다.

위에 나열된 메소드와 함께 Java의 HashSet 클래스에는 슈퍼 클래스에서.

이제 이러한 방법을 구현하고 코딩에 착수 해 보겠습니다.

Java 프로그램에서 HashSet 구현

아래 예에서는 HashSet 클래스에서 제공하는 여러 메서드를 시도하고 구현합니다.

import java.util.HashSet import java.util. * public class SampleHashSet {public static void main (String [] args) {// HashSet Set 생성 eduCourses = new HashSet () // HashSet에 새 요소 추가 eduCourses.add ( '빅 데이터') eduCourses.add ( 'Node.js') eduCourses.add ( 'Java') eduCourses.add ( 'Python') eduCourses.add ( 'Blockchain') eduCourses.add ( 'JavaScript') eduCourses. add ( 'Selenium') eduCourses.add ( 'AWS') eduCourses.add ( 'Machine Learning') eduCourses.add ( 'RPA') // 중복 요소 추가는 무시됩니다. eduCourses.add ( 'Java') eduCourses.add ( 'RPA') System.out.println (eduCourses) // HashSet에 특정 요소가 포함되어 있는지 확인합니다. String myCourse = 'Node.js'if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' is in the course list. ')} else {System.out.println (myCourse +'is not in the course list. ')} // 목록 목록을 사용하여 eduCourses 정렬 list = new ArrayList (eduCourses) Collections.sort (list) // HashSet의 정렬 된 요소를 인쇄합니다. System.out.println ( ' List를 사용하여 정렬 된 순서로 과정 인쇄 : '+ list) // remove ()를 사용하여 HashSet에서 항목 제거 eduCourses.remove ('Python ') // HashSet 항목 반복 System.out.println ('제거 후 과정 목록 반복 Python : ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // HashSet의 다른 객체 생성 HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ( 'Python') eduNewCourses.add ( 'Machine Learning') // HashSet에서 모든 새 요소 제거 eduCourses.removeAll (eduNewCourses) System.out.println ( 'removeAll () 호출 후 남은 메소드 과정 : '+ eduCourses) // 지정된 조건에 따라 요소 제거 eduCourses.removeIf (str-> str.contains ('Java ')) System.out.println ('removeIf () 메소드 호출 후 : '+ eduCourses) // eduNewCourses에 지정된 eduCourses에서 요소 제거 eduCourses.retainAll (eduNewCourses) System.out.println ( 'HashSet after'+ 'retainAll () operation : '+ eduNewCourses) // 세트에서 사용 가능한 모든 요소 제거 eduCourses.clear () System.out.println ('clear () 메소드 호출 후 : '+ eduCourses)}}

위의 코드를 실행하면 아래와 같이 출력됩니다.

이것으로 우리는이 기사의 끝으로 왔습니다. 개념을 선명하고 명확하게 유지할 수 있기를 바랍니다. 자세한 내용은 우리를 통해 .

이제 Java에서 HashSet이 무엇인지 이해 했으므로 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Java 개발자가 되고자하는 학생과 전문가를 위해 설계되었습니다. 이 과정은 Java 프로그래밍을 시작하고 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

질문이 있으십니까? 이 'Java의 HashSet'기사의 주석 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.