Java에서 맵 인터페이스를 구현하는 방법은 무엇입니까?



Java Map Inteface에 대한이 기사는 Java에서 Map이 작동하는 방식을 이해하는 데 도움이되며 Map Interface를 구현하는 다양한 클래스를 소개합니다.

Java에서 가장 흥미로운 주제 중 하나는 Map 인터페이스입니다.키와 값 사이의 매핑을 나타냅니다.종종 하위 유형으로 오해됩니다. Java의 인터페이스.Java Map Interface에 대한이 기사는지도가 작동하는 방식을 이해하고 마스터하는 데 도움이됩니다. .

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





자바 맵 인터페이스

Java의지도는 목적 키를 값에 매핑하고 더 빠른 조회를 위해 설계되었습니다. 데이터는 키-값 쌍으로 저장되며 모든 키는 고유합니다. 각 키는 값에 매핑되므로 이름 매핑이됩니다. 이러한 키-값 쌍을 맵 항목이라고합니다.

자바지도-자바지도 인터페이스-Edureka



에서 , java.util.Map 이다 여기에는 키를 기반으로하는 요소의 삽입, 제거 및 검색을위한 메서드 서명이 포함됩니다. 이러한 방법을 사용하면 사전과 같은 키-값 연결 매핑에 사용하기에 완벽한 도구입니다.

지도 인터페이스의 특징

  • Map 인터페이스는 Collection 인터페이스의 진정한 하위 유형이 아니므로그 특성과 동작은 나머지 컬렉션 유형과 다릅니다.
  • 그것은 제공합니다세 가지 컬렉션 뷰 – 키 집합, 키-값 매핑 집합 및 값 컬렉션.
  • 지도중복 키를 포함 할 수 없으며 각 키는 최대 하나의 값에 매핑 될 수 있습니다. 일부 구현은 null 키 및 null 값을 허용합니다. ( HashMap 및 LinkedHashMap ) 그러나 일부는 그렇지 않습니다 ( TreeMap).
  • Map 인터페이스는 매핑 순서를 보장하지 않지만 구현에 따라 다릅니다. 예를 들어 HashMap 매핑 순서를 보장하지는 않지만 TreeMap 않습니다.
  • AbstractMap 클래스는 Java Map 인터페이스 및 대부분의 Map 콘크리트의 골격 구현을 제공합니다. 클래스 AbstractMap 클래스를 확장하고 필요한 메서드를 구현합니다.

이제 Map 인터페이스에 대한 아이디어를 얻었으므로 계속해서 Java Map의 계층 구조를 살펴 보겠습니다.

자바 맵 계층

Java에서 Map을 구현하는 두 가지 인터페이스가 있습니다. Map 및 SortedMap. Java에서 Map의 인기있는 구현 클래스는 다음과 같습니다. HashMap, TreeMap , 및 LinkedHashMap. Java Map의 계층 구조는 다음과 같습니다.



위에서 언급 한 Java Map Interface의 세 가지 구현 클래스를 확인하기 전에 Map 작업시 접할 수있는 몇 가지 일반적인 방법이 있습니다.

자바 맵 인터페이스의 메소드

행동 양식

자바에서 문자열을 날짜로 변환

기술

공개 넣기 (개체 키, 개체 값)이 메소드는지도에 항목을 삽입합니다.
공공의void putAll (지도 맵)이 메소드는이지도에 지정된지도를 삽입합니다.
공용 개체 제거 (개체 키)지정된 키에 대한 항목을 삭제하는 데 사용됩니다.
공개 Set keySet ()모든 키를 포함하는 Set 뷰를 반환합니다.
public Set entrySet ()모든 키와 값을 포함하는 Set 뷰를 반환합니다.
무효 clear ()지도를 재설정하는 데 사용됩니다.
public void putIfAbsent (K 키, V 값)이미 지정되지 않은 경우에만 지정된 키와 함께 지정된 값을 맵에 삽입합니다.
public Object get (객체 키)지정된 키의 값을 반환합니다.
공개 부울 containsKey (개체 키)
이 맵에서 지정된 키를 검색하는 데 사용됩니다.

지도 구현

몇 가지가 있습니다 Java Map을 구현하는그러나 세 가지 주요 및 범용 구현은HashMap, TreeMap 및 LinkedHashMap.예제를 통해 각 구현의 특성과 동작을 살펴 보겠습니다.

HashMap 클래스

Java Map 인터페이스를 구현하는 가장 일반적인 클래스는 HashMap입니다. Map 인터페이스의 해시 테이블 기반 구현입니다.모든지도 작업을 구현합니다.null 값과 하나의 null 키를 허용합니다. 또한이 클래스는 요소 간의 순서를 유지하지 않습니다. 다음은 HashMap 클래스를 보여주는 예제 프로그램입니다.

package MyPackage import java.util. * class HashMapExample {public static void main (String [] args) {Mapcourse = new HashMap () // 일부 강좌를 추가합니다. course.put ( 'Java Courses', new Integer (6)) courses.put ( 'Cloud Courses', new Integer (7)) course.put ( '프로그래밍 강좌', new Integer (5)) course.put ( ' Data Science Courses ', new Integer (2)) System.out.println ('Total course : '+ course.size ()) Setst = course.entrySet () for (Map.Entry me : st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Java Courses'if (courses.containsKey (searchKey)) System.out.println ( 'Found total'+ course.get (searchKey) + ''+ searchKey)}}

산출

총 과정 : 4 개의 클라우드 과정 : 7 개의 프로그래밍 과정 : 5 개의 데이터 과학 과정 : 2 개의 자바 과정 : 6 개 발견 된 총 6 개의 자바 과정

위의 프로그램에서 나는 표에 언급 된 많은 방법을 사용했습니다. 첫째, 놓다() 메소드는지도에 4 개의 항목을 삽입하고 크기() 다음 단계의 메소드는지도의 크기 (총 키-값 쌍)를 표시합니다. 그 후 다음 단계에서 entrySet () 메서드는 모든 키-값 쌍을 반환합니다. 이 프로그램은 또한 사용하는 방법을 보여줍니다 가져 오기() 연결된 키를 사용하여 값을 검색하는 방법입니다.

Java Map Interface를 구현하는 다음 클래스 인 TreeMap으로 이동하겠습니다.

TreeMap 클래스

이 구현은 Red-Black 트리를 기본으로 사용합니다. 데이터 구조 . TreeMap은 키의 자연스러운 순서에 따라 또는 생성시 제공되는 Comparator에 따라 정렬됩니다. 이 구현은 null을 허용하지 않지만요소에 대한 주문. 다음은 TreeMap 클래스를 보여주는 예제 프로그램입니다.

package MyPackage import java.util. * class TreeMapEx {public static void main (String [] args) {Mapcourse = new TreeMap () // 일부 강좌를 추가합니다. course.put ( 'Java Courses', new Integer (3)) course.put ( 'AWS Courses', new Integer (7)) course.put ( 'Programming Courses', new Integer (8)) course.put ( ' Data Science Courses ', new Integer (2)) System.out.println ('Total course : '+ course.size ()) Setst = course.entrySet () for (Map.Entry me : st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

산출

총 과정 : 4 개 AWS 과정 : 7 개 데이터 과학 과정 : 2 개 Java 과정 : 3 개 프로그래밍 과정 : 8

출력에서 맵의 요소는 엄격한 사전 순으로 인쇄되며, 이는 HashMap의 이전 예제에 나타나지 않습니다. 우리가 논의 할 다음 수업은 LinkedHashMap .

LinkedHashMap 클래스

이름에서 알 수 있듯이 Java Map 인터페이스의 구현은 기본 데이터 구조로 해시 테이블과 연결 목록을 사용합니다. 따라서 LinkedHashMap의 순서는 다음과 같습니다.기본 순서로 삽입 순서를 사용하여 예측 가능합니다. 또한 HashMap에서와 같이 null을 허용합니다. 다음은 TreeMap 클래스를 보여주는 예제 프로그램입니다.

package MyPackage import java.util. * public class LinkedHashMapExample {public static void main (String a []) {LinkedHashMapcourse = new LinkedHashMap () course.put ( 'Java Courses', new Integer (3)) course.put ( ' Cloud Courses ', new Integer (7)) course.put ('Programming Courses ', new Integer (8)) course.put ('Data Science Courses ', new Integer (2)) // 동일한 순서로 요소를 인쇄합니다. // 삽입 된대로 System.out.println (courses) System.out.println ( 'Total course :'+ course.size ()) System.out.println ( 'Contains key'Hadoop '?'+ course.containsKey ( 'Hadoop')) System.out.println ( ''프로그래밍 과정 '키 값 가져 오기 :'+ course.get ( '프로그래밍 과정')) System.out.println ( '지도가 비어 있습니까?'+ course.isEmpty ()) System.out.println ( 'delete element'Cloud Courses ':'+ course.remove ( 'Cloud Courses')) System.out.println (courses)}}

산출

{Java Courses = 3, Cloud Courses = 7, Programming Courses = 8, Data Science Courses = 2} 총 강좌 : 4 핵심 'Hadoop'포함? false 'Programming Courses'키 값 가져 오기 : 8 맵이 비어 있습니까? false delete element 'Cloud Courses': 7 {Java Courses = 3, Programming Courses = 8, Data Science Courses = 2}

예제 프로그램은 이해하기 매우 간단합니다. Java에서 LinkeHashMap의 기능을 설명하기 위해 몇 가지 기본 방법을 사용했습니다. 앞서 말했듯이이 세 가지 외에도 Java Map 인터페이스를 구현하는 다른 클래스가 많이 있습니다.

이것으로이 'Java Map Interface'기사의 끝으로 이동합니다. Java의 Map 인터페이스 인 Java의 흥미로운 주제 중 하나를 다루었습니다.

가능한 한 많이 연습하고 경험을 되 돌리십시오.

확인 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. 우리는 당신의 여정의 모든 단계에서 당신을 돕기 위해 여기에 있습니다.이 자바 인터뷰 질문 외에 우리는 자바 개발자가 되고자하는 학생과 전문가를 위해 고안된 커리큘럼을 제안합니다.

질문이 있으십니까? 이 '자바 맵 인터페이스'의 댓글 섹션에 언급하십시오. 기사와 우리는 가능한 한 빨리 당신에게 돌아갈 것입니다.