for ejemplo collection java collections java-8 java-stream boxing

java - ejemplo - ¿Cómo obtengo un IntStream de una lista<Integer>?



map vs foreach java 8 (1)

Supongo (o al menos es una alternativa) de esta manera es más eficaz:

public static IntStream baz(List<Integer> list) { return list.stream().mapToInt(Integer::intValue); }

ya que la función Integer::intValue es totalmente compatible con ToIntFunction ya que toma un Integer y devuelve un int . No se realiza autoboxing .

También estaba buscando un equivalente de Function::identity , esperaba escribir un equivalente de su método de bar :

public static IntStream qux(List<Integer> list) { return list.stream().mapToInt(IntFunction::identity); }

Pero no proporcionaron este método de identity . No se por que

Puedo pensar en dos maneras:

public static IntStream foo(List<Integer> list) { return list.stream().mapToInt(Integer::valueOf); } public static IntStream bar(List<Integer> list) { return list.stream().mapToInt(x -> x); }

¿Cuál es la forma idiomática? Tal vez ya existe una función de biblioteca que hace exactamente lo que quiero?