LinkedList
posiada następujące konstruktora, który przyjmuje parametr typu Collection
:
public LinkedList(Collection<? extends E> c)
Ten konstruktor „konstruktów listę zawierającą elementy określonej kolekcji, w kolejności, w jakiej są one zwracane przez iterator kolekcji. "
Dlatego można użyć tego konstruktora do zadeklarowania LinkedList
i zainicjować go wartościami w momencie deklaracji. Możesz podać instancję dowolnego typu Collection<Double>
.
Jeśli masz tylko zbiór wartości, ale nie jest Collection
obiekt, a następnie można użyć klasy java.util.Arrays
która ma statyczny asList()
metodę, która będzie przekształcić zbiór wartości przewidzianych do List
i powrotu. Patrz poniższy przykład:
List<Double> list = new LinkedList<Double>(Arrays.asList(1.2,1.3,3.2));
Jeśli potrzebujesz instancję List<Double>
wtedy musisz podać wartości z miejsca po przecinku, w przeciwnym razie masz instancję List<Integer>
z wartościami.
Zależy co chcesz zrobić z „pozycji”, choć być może jest to lepszy pomysł, albo użyć 'Mapa' lub osobne listy dla kluczy i wartości. Składanie ich razem, tuż obok siebie na jednej liście, jest naprawdę niezręczne. –
@LouisWasserman: Nie brzmi tak, jak OP chce wpisów w sensie wpisów w mapie ... tylko elementy na liście. – ColinD
Tak, dlatego zasugerowałem podzielenie list na dwie części. Z pewnością, jeśli dodajesz "powiązane" pary elementów do listy, bardziej sensownym byłoby zawijanie ich w obiekt lub dzielenie na dwie listy. Z pewnością istnieje odpowiedź na podstawowe pytanie OP "Jak mogę zainicjować listę z pewnymi określonymi elementami", ale pozostała część pytania brzmi, jakby to nie było najlepsze podejście do rzeczywistego problemu PO. –