2016-10-27 1 views
0

개체 목록 []에서 해시 맵을 만들려고하고 있지만 그렇게 할 수 없습니다. 난 단지 두 개의 필드가지도에서 언급하는 것과 같은 유형이 쿼리에서 반환 있지만 작동하지 않는 것을 알고목록을 <Object[]>지도로 변환

List<Object[]> adjustments = query.getResultList(); 
Map<Integer, BigDecimal> dpaMap = adjustments.stream().collect(Collectors.toMap(a -> (Integer)a[0], a -> (BigDecimal)a[1])); 

: 아래는 내가 작성한 코드입니다. 이 점을 안내 해주십시오.

감사의 말 전진.

+1

[Java : 목록을지도로 변환하는 방법] 가능한 복제본 (http://stackoverflow.com/questions/4138364/java-how-to-convert-list-to-map) – Sanka

+0

https : // www. mkeong.com/java8/java-8-convert-list-to-map/ – Sanka

+0

코드는 잘 동작합니다 ('Object []'배열에는 여러분이 말하는 것을 포함하고있을 때). 나는 시도했다 :'List adjustments = new ArrayList (); adjustments.add (새 Object [] {Integer.valueOf (5), 새 BigDecimal (4)}); adjustments.add (new Object [] {Integer.valueOf (55), 새 BigDecimal (48)}); Map dpaMap = adjustments.stream(). 수집 자 (Collectors.toMap (a -> (정수) a [0], a -> (BigDecimal) a [1])), ' – Eran

답변

2

는 그래서는 DB에 열이 너무 당신의 도움을

Map<Integer, BigDecimal> dpaMap = adjustments.stream().collect(Collectors.toMap(a -> (Integer)a[0], a -> BigDecimal.valueOf((Float) a[1]))); 

감사를 BigDecimal를

에 많은 사람들을 캐스팅했다 플로트를 반환하고, 잘 작동 한 것으로 보인다.