web-dev-qa-db-fra.com

Comment puis-je initialiser une liste liée avec des entrées / valeurs en elle?

Je sais donc comment avoir une liste chaînée et utiliser la méthode add pour saisir des entrées par entrées. Cependant, je ne veux pas ajouter d'entrées par entrées. Existe-t-il un moyen de déclarer une liste chaînée avec des valeurs initiales dans la liste?

Par exemple, si je veux avoir 1.0 et 2.0 dans la liste, puis-je faire quelque chose sur une seule ligne? Quelque chose comme:

List<Double> temp1 = new LinkedList<Double>(1,2);
26
J L

Vous pouvez le faire de cette façon:

List<Double> temp1 = new LinkedList<Double>(Arrays.asList(1.0, 2.0));
65
Eugene Retunsky

LinkedList a le constructeur suivant, qui accepte un paramètre de type Collection:

public LinkedList(Collection<? extends E> c)

Ce constructeur 'Construit une liste contenant les éléments de la collection spécifiée, dans l'ordre où ils sont renvoyés par l'itérateur de la collection.'

Par conséquent, vous pouvez utiliser ce constructeur pour déclarer un LinkedList et l'initialiser avec des valeurs au moment de la déclaration. Vous pouvez fournir une instance de n'importe quel type Collection<Double>.

Si vous ne disposez que d'un ensemble de valeurs mais pas d'un objet Collection, vous pouvez utiliser la classe Java.util.Arrays Qui a la méthode statique asList() qui convertira l'ensemble de valeurs fourni à un List et retour. Voir l'exemple ci-dessous:

 List<Double> list = new LinkedList<Double>(Arrays.asList(1.2,1.3,3.2));

Si vous avez besoin d'une instance de List<Double>, Vous devez fournir les valeurs avec une décimale, sinon vous obtiendrez une instance de List<Integer> Avec les valeurs.

12
Dilini Rajapaksha

Vous pouvez également créer une méthode comme

static <T> LinkedList<T> createLinkedList(T...elements) {
    LinkedList<T> newList = new LinkedList<T>();
    for (T el : elements) {
        newList.add(el);
    }

    return newList;
}

Et utilisez-le avec:

        LinkedList<Integer> a = createLinkedList(1, 2, 3);

        for (Integer item : a) {
            System.out.println(item);
        }
5
Igor