Я чувствую, что пропускаю что-то простое. Я ищу элегантный способ сделать это:
List<Card> cards = new ArrayList<>(ranks.length);
for (int i = 0; i < ranks.length; i++) {
cards.add(new Card(ranks[i],suits[i],values[i]));
}
Intellj придумал:
cards = IntStream.range(0, ranks.length).mapToObj(i -> new Card(ranks[i], suits[i], values[i])).collect(Collectors.toCollection(() -> new ArrayList<>(ranks.length)));
но это похоже на серьезное излишество. Есть ли лучший способ сделать это?