Comunidad Empresarial Dinamiza

 
 
  • No hay categorías

 
No te pierdas...
 

 
Publicado 02/08/2019 por admin en
 
 

multivaluemap 예제

이 예제는 공용 컬렉션 소스 코드 파일(MultiValueMap.java)이 DevDaily.com «Java 소스 코드 웨어하우스» 프로젝트에 포함됩니다. 이 프로젝트의 목적은 «예제로 Java 를 배우십시오»TM을 돕기 위한 것입니다. 동일한 키 값 매핑을 두 번 추가하는 간단한 예제를 살펴보겠습니다. 다행히도 이러한 컬렉션을 구현하는 많은 컬렉션 라이브러리가 있습니다. 다음은 몇 가지 예입니다: 예제를 사용하려면 임베디드 tomcat(아래 예제 프로젝트의 pom.xml로 구성됨): 블로그에서 슬라이드를 다운로드할 수 있습니다: https://stuartmarks.files.wordpress.com/2017/08/collectionsrefueled.pdf 지금, 키를 가지고 있다고 가정해 보겠습니다. 매핑되었지만 매핑된 값 중 하나만 제거하고 다른 값은 그대로 둡히 지내려고 합니다. 우리는 쉽게 removeMapping 방법을 사용하여이 작업을 수행 할 수 있습니다 : 당신이 어떤 이유로, 이러한 라이브러리 중 하나를 사용할 수없는 경우 자신의 간단한 MultiValueMap을 구축하는 것은 매우 쉽습니다. 람다와 Java 8에 도입 된 새로운 방법 덕분에 코드는 매우 간결합니다. 다음 코드 조각에서는 단일 키와 다중 값을 구분하여 키-값 쌍을 저장하는 세 가지 방법을 보여 줄 것입니다. HashMap키-값 쌍을 저장 하는 데 사용할 수 있습니다. 그러나 때로는 동일한 키에 대해 여러 값을 저장할 수 있습니다. 반환된 컬렉션은 수정할 수 있지만 업데이트는 이 다중 값 맵에 전파되지 않습니다. 지정된 키에 대해 매핑이 저장되지 않은 경우 수정할 수 없는 빈 컬렉션이 반환됩니다.

다음으로 put 메서드를 사용하여 요소를 한 번에 하나씩 추가하는 방법을 살펴보겠습니다. 이를 위해 메서드는 모든 값 항목에 대한 스트림을 시작하고 size()를 호출하여 int에 매핑합니다. 터미널 작업 sum()은 이러한 합계를 하나의 숫자로 요약합니다. MultiValueMapJava는 각 키를 Java의 값 컬렉션에 매핑하는 간단한 API를 제공합니다. 그것은 org.apache.commons.collections4.MultiMap의 후속, 공용 컬렉션 4.1에서 더 이상 사용되지 않았습니다. 맵에 키-값 매핑이 전혀 포함되어 있지 않은지 확인하려면 isEmpty 메서드를 사용할 수 있습니다. 이 구현은 List를 사용하고 중복을 허용하는 구현입니다. 다가오는 Spring 5 프레임 워크는 Java 8에 의존하기 때문에 개발자는 LinkedMultiValueMap을 다시 작성하고이 블로그에서 설명 한 몇 가지 구문을 사용했습니다. 마지막으로 맵에 포함된 모든 값의 컬렉션 보기를 얻으려면 값 메서드를 사용할 수 있습니다. Modifiable MultiValuedMap은 다중 값 지정 맵의 변경할 수 없는 인스턴스가 필요할 때 유용한 데코레이터 클래스입니다. 동일한 키에 대해 호출 get(Object).size()를 호출합니다. 키 메서드를 사용하여 키의 다중 집합 보기를 얻습니다: ArrayListValuedHashMap각 키와 관련 된 값을 저장 하기 위해 내부적으로 ArrayList를 사용 하 여, 그래서 그것은 중복 키-값 쌍을 허용: Maven 프로젝트에 대 한, 공용 컬렉션을 추가 해야4 종속성: 클래스, 수집, 수집, 팩터리, 멀티맵, 다중 값 맵, 다중 값 맵, 개체, 개체, 반사 공장, 유틸리티, 값, 값iterator get() 메서드를 포함 하는 구현 호출 getOrDefault() 및 포함() 이후에 안전하게 호출할 수 있습니다.

또는 entry 메서드를 사용하여 맵에 포함된 모든 키 값 매핑의 컬렉션을 얻을 수 있습니다. 따라서 여러 스레드에서이 맵을 사용하려면 적절한 동기화를 사용해야 합니다.


admin