Skip to content
Advertisement

How to convert short[] into List in Java with streams?

I figured I could extrapolate from this question but I can’t

I can of course do

short[] shortarray = {0,1,2};
List<Short> shortList = new ArrayList<Short>();
for (Short s : shortarray) {
    shortList.add(s);
}

But I’m wondering how to do it with streams.

List<Short> shortList = Arrays.stream(shortarray).boxed()
                              .collect(Collectors.toList());

doesn’t work for example but yields The method stream(T[]) in the type Arrays is not applicable for the arguments (short[])

Advertisement

Answer

Why not

IntStream.range(0, shortarray.length)
         .mapToObj(s -> shortarray[s])
         .collect(Collectors.toList());
User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement