Работа с ArrayList
Как можно заполнить ArrayList сразу значениями? Например если бы был обычный тип данных, то с помощью Collections.addAll(...). По заданию надо заполнить переменные value1 и value2 так: value1 = (a, 1, 0) value2 = (b, 0, 1)
public static ArrayList<BigInteger> Euclid(BigInteger a, BigInteger b) {
if(a.compareTo(b) > 0) {
ArrayList<BigInteger> value1 = new ArrayList<BigInteger>();
ArrayList<BigInteger> value2 = new ArrayList<BigInteger>();
}
}
Как это можно сделать, 6 раз не вызывая value1.add()
Ответы (1 шт):
Автор решения: Nowhere Man
→ Ссылка
Следует использовать конструктор ArrayList<>(Collection<? extends E> collection), принимающий на вход "начальную" коллекцию, которую можно формировать несколькими способами:
import static java.util.Arrays.asList;
import static java.math.BigInteger.ONE;
import static java.math.BigInteger.ZERO;
// ...
List<BigInteger> value1 = new ArrayList<>(asList(a, ONE, ZERO));
List<BigInteger> value2 = new ArrayList<>(asList(b, ZERO, ONE));
List.of(Java 9+)
List<BigInteger> value1 = new ArrayList<>(List.of(a, ONE, ZERO));
List<BigInteger> value2 = new ArrayList<>(List.of(b, ZERO, ONE));