>  기사  >  Java  >  자바에서 매핑이란 무엇입니까?

자바에서 매핑이란 무엇입니까?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼원래의
2019-11-12 16:57:1211636검색

자바에서 매핑이란 무엇입니까?

세트는 기존 요소를 빠르게 찾을 수 있는 컬렉션입니다. 그러나 요소를 보려면 찾고 있는 요소의 정확한 사본이 필요합니다. 컬렉션에서 요소를 찾으려면 항상 컬렉션을 순회해야 하기 때문에 이는 매우 일반적인 찾기 방법은 아닙니다. 종종 우리는 일부 키에 대한 정보를 알고 그에 해당하는 요소를 찾고 싶어합니다. 지도 데이터 구조는 이러한 목적으로 설계되었습니다. 맵은 키/값 쌍을 저장하는 데 사용됩니다. 키가 제공되면 값을 조회할 수 있습니다. 그들 사이에는 일대일 대응이 있습니다.

기본 매핑 작업:

Java 클래스 라이브러리는 매핑을 위한 두 가지 일반 구현인 HashMap과 TreeMap을 제공합니다. 두 클래스 모두 Map 인터페이스를 구현합니다.

Hash 맵(HashMap)은 키를 해시하고 TreeMap은 전체 키 순서에 따라 요소를 정렬합니다. 검색 트리로 정리합니다.

해시 또는 비교 기능은 키에서만 작동할 수 있습니다. 키와 관련된 값은 해시하거나 비교할 수 없습니다

세트와 마찬가지로 해시 맵은 트리 맵보다 약간 빠르므로 정렬된 순서로 키에 액세스할 필요가 없을 때 해시 맵을 사용하는 것이 가장 좋습니다

OP- > ;>키-값 저장을 수행하려면 put 메소드를 사용해야 합니다

OP->>키-값 접근을 수행하려면 get 메소드를 사용해야 하며, 값은 키를 통해서만 접근할 수 있습니다

OP->> 값을 찾을 수 없지만 빈 객체를 반환하고 싶지 않으면 getOrDefault(var1,var2)를 사용하고, 값을 찾을 수 없으면 var2를 반환합니다.

키는 고유해야 합니다. 한 쌍의 매핑에서 put 메소드가 두 번 호출되면 이후 호출이 이전 호출을 덮어씁니다. 그리고 첫 번째 호출의 결과를 반환합니다.

OP->> 키-값 쌍을 제거하려면 제거(키) 메서드를 사용하세요.

OP->> size() 메소드를 사용하려면

OP->> 각 키와 값을 반복적으로 처리하려면 forEach 메소드를 사용하는 것이 가장 좋습니다. 이 메소드에 람다 표현식을 제공하여 맵의 각 키와 값을 처리할 수 있습니다. 요소

는 Score.forEach((k,v)->System.out.println("key="+k+",value="+v));

다음 샘플 프로그램과 유사합니다. 매핑 작업을 보여줍니다. 프로세스는 키/값 쌍을 맵에 추가하는 것으로 시작됩니다. 그런 다음 맵에서 키가 삭제되고 해당 값도 삭제됩니다. 다음으로 특정 키에 해당하는 값을 수정하고 get 메서드를 호출하여 이 값을 확인합니다. 마지막으로 항목 집합이 반복적으로 처리됩니다.

코드:

package Collection.Map;
 
import java.util.*;
 
public class MapTest {
public static void main(String[] args) {
Map<String,Employee> staff=new HashMap<>();
staff.put("144-25-5464", new Employee("Amy Lee"));
staff.put("567-24-2546", new Employee("Harry Hacker"));
staff.put("157-62-7935", new Employee("Gary Cooper"));
staff.put("456-62-5527", new Employee("Francesca Cruz"));
//打印所有成员
System.out.println(staff);
//删除某一成员
staff.remove("567-24-2546");
//替代一个成员
staff.put("456-62-5527", new Employee("Francesca Miller"));
//查看一个成员
System.out.println(staff.get("157-62-7935"));
//遍历映射
staff.forEach((k,v)->System.out.println("key="+k+",value="+v));
}
}
 
class Employee{
String name;
 
public Employee(String name) {
this.name = name;
}
 
public String toString() {
return "[name="+name+"]";
}
}

실행 결과:

자바에서 매핑이란 무엇입니까?

다음은 인터페이스 맵에서 일반적으로 사용되는 몇 가지 메소드와 그에 대한 설명입니다.

V get(객체 키)

에 해당하는 값을 가져옵니다. key; 키에 해당하는 객체를 반환하거나, 맵에 해당 객체가 없으면 null을 반환합니다. 키는 null일 수 있습니다.

default V getOrDefault(Object key, V defaultValue)

키와 연결된 값을 가져옵니다. 키와 연결된 개체를 반환하거나, 키가 맵에서 발견되지 않으면 defaultValue를 반환합니다.

V put(K 키,V 값)

키와 해당 값의 관계를 맵에 삽입합니다. 키가 이미 존재하는 경우 새 개체는 키에 해당하는 이전 개체를 대체합니다. 이 메소드는 키에 해당하는 이전 값을 반환합니다. 이 키가 이전에 나타나지 않은 경우 null을 반환합니다. 키는 null이 될 수 있지만 값은 null이 될 수 없습니다.

void putAll(Map 확장 K,? 확장 V> 항목)

주어진 지도의 모든 항목을 이 지도에 추가합니다.

boolean containKey(Object key)

이 키가 이미 맵에 존재하는 경우 true를 반환합니다.

boolean containValue(Object value)

이 값이 이미 맵에 존재하는 경우 true를 반환합니다.

default void forEach(BiConsumer super K,? super V> action)

이 맵의 모든 키/값에 이 작업을 적용합니다.

다음은 HashMap 클래스에서 일반적으로 사용되는 메서드입니다.

HashMap()

HashMap(intitialCapacity)

HashMap(intinitialCapacity, float loadFactor)

주어진 용량 및 로드 계수로 빈 해시를 구성합니다. 매핑(채우기 비율은 0.0에서 1.0 사이의 값입니다. 이 값은 해시 테이블의 채우기 비율을 결정합니다. 이 비율에 도달하면 더 큰 테이블로 해시되어야 합니다.) 기본 재로드 계수는 0.75입니다.

다음은 TreeMap 클래스에서 일반적으로 사용되는 메서드입니다.

TreeMap()

Comparable 인터페이스를 구현하는 키에 대해 빈 트리 맵을 구성합니다.

TreeMap(Comparator super K> c)

트리 맵을 구성하고 지정된 비교기를 사용하여 키를 정렬합니다.

TreeMap(Map 확장 K,? 확장 V> 항목)

트리 맵을 구성하고 맵의 모든 항목을 트리 맵에 추가합니다.

TreeMap(SortedMap K 확장,? V> 항목 확장)

주어진 순서 맵과 동일한 비교기를 사용하여 특정 순서 맵의 모든 항목을 트리 맵에 추가하는 트리 맵을 구성합니다.

SortedMap 인터페이스의 몇 가지 중요한 메소드는 다음과 같습니다.

Comparator super K> comparator()

키 정렬을 위한 비교기를 반환합니다. Comparable 인터페이스의 comparaTo 메소드를 사용하여 키를 비교하면 null이 반환됩니다.

K firstKey()

K lastKey()

맵에서 가장 작은 요소와 가장 큰 요소를 반환합니다.

php 중국어 웹사이트, 수많은 무료 Java 입문 튜토리얼, 온라인 학습을 환영합니다!

위 내용은 자바에서 매핑이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.