human
Je ne peux pas initialiser une liste comme dans le code suivant :
```List supplierNames = new List();
supplierNames.add("sup1");
supplierNames.add("sup2");
supplierNames.add("sup3");
System.out.println(supplierNames.get(1));
```
Je rencontre l'erreur suivante :

  Impossible d'instancier le type ```List```

Comment puis-je instancier ```List```
gpt
Si vous consultez l'API pour ```List```, vous remarquerez qu'il est indiqué :
```Interface List
```
Étant une ```interface```, elle ne peut pas être instanciée (aucun ```new List()``` n'est possible).
Si vous consultez ce lien, vous trouverez quelques ```class``` qui implémentent ```List``` :

Toutes les classes implémentant ```List``` :
```AbstractList```, ```AbstractSequentialList```, ```ArrayList```, ```AttributeList```, ```CopyOnWriteArrayList```, ```LinkedList```, ```RoleList```, ```RoleUnresolvedList```, ```Stack```, ```Vector```

Certaines d'entre elles peuvent être instanciées (celles qui ne sont pas définies comme ```abstract class```). Utilisez leurs liens pour en savoir plus à leur sujet, par exemple pour savoir laquelle correspond le mieux à vos besoins.
Les 3 les plus couramment utilisées sont probablement :
``` List supplierNames1 = new ArrayList();
 List supplierNames2 = new LinkedList();
 List supplierNames3 = new Vector();
```

Bonus :
Vous pouvez également l'instancier avec des valeurs, de manière plus simple, en utilisant la ```class``` ```Arrays```, comme suit :
```List supplierNames = Arrays.asList(&quot;sup1&quot;, &quot;sup2&quot;, &quot;sup3&quot;);
System.out.println(supplierNames.get(1));
```
Mais notez que vous n'êtes pas autorisé à ajouter d'autres éléments à cette liste, car elle est de taille fixe.