Java int数组到HashMap 和IntStream(Java int array to HashMap with IntStream)
我需要取每个数组元素的平方并将一个条目插入到hashmap中,并将此值作为键,并将true作为值。 我试过这样做,但我无法解决它。
int [] array = {3, 1, 4, 6, 5}; HashMap<Integer, Boolean> map = IntStream.of(array) .map(x -> x*x) .collect(Collectors.toMap(p -> Integer.valueOf(p), Boolean.valueOf(true)));I need to take square of each array element and insert a entry to hashmap with this value as a key and true as a value. I have tried to do it like that but I can not fix it.
int [] array = {3, 1, 4, 6, 5}; HashMap<Integer, Boolean> map = IntStream.of(array) .map(x -> x*x) .collect(Collectors.toMap(p -> Integer.valueOf(p), Boolean.valueOf(true)));最满意答案
您可以IntStream并继续使用Stream<Integer> :
Map<Integer, Boolean> map = IntStream.of(array) .map(x -> x*x) .boxed() .collect(Collectors.toMap(p -> p, p -> Boolean.valueOf(true)));请注意, Collectors.toMap返回Map而不是HashMap 。
You can box the IntStream and proceed with a Stream<Integer> :
Map<Integer, Boolean> map = IntStream.of(array) .map(x -> x*x) .boxed() .collect(Collectors.toMap(p -> p, p -> Boolean.valueOf(true)));Note that Collectors.toMap returns a Map, not a HashMap.
更多推荐
发布评论