Question Comment faire une nouvelle liste en Java


Nous créons un Set comme:

Set myset = new HashSet()

Comment créons-nous un List en Java?


605
2018-05-13 15:12


origine


Réponses:


List myList = new ArrayList();

ou avec des génériques (Java 7 ou plus tard)

List<MyType> myList = new ArrayList<>();

ou avec des génériques (anciennes versions java)

List<MyType> myList = new ArrayList<MyType>();

800
2018-05-13 15:15



De plus, si vous souhaitez créer une liste contenant des éléments (bien que la taille soit fixe):

List<String> messages = Arrays.asList("Hello", "World!", "How", "Are", "You");

372
2018-05-13 15:18



Laissez-moi résumer et ajouter quelque chose:

JDK

1. new ArrayList<String>();
2. Arrays.asList("A", "B", "C")

Goyave

1. Lists.newArrayList("Mike", "John", "Lesly");
2. Lists.asList("A","B", new String [] {"C", "D"});

Liste immutable

1. Collections.unmodifiableList(new ArrayList<String>(Arrays.asList("A","B")));
2. ImmutableList.builder()                                      // Guava
            .add("A")
            .add("B").build();
3. ImmutableList.of("A", "B");                                  // Guava
4. ImmutableList.copyOf(Lists.newArrayList("A", "B", "C"));     // Guava

Liste immuable vide

1. Collections.emptyList();
2. Collections.EMPTY_LIST;

Liste des caractères

1. Lists.charactersOf("String")                                 // Guava
2. Lists.newArrayList(Splitter.fixedLength(1).split("String"))  // Guava

Liste des entiers

Ints.asList(1,2,3);                                             // Guava

148
2018-05-29 19:48



Première lecture ce, puis lire ce et ce. 9 fois sur 10, vous utiliserez l'une de ces deux implémentations.

En fait, il suffit de lire Guide de Sun sur le cadre des collections.


31
2018-05-13 15:17



//simple example creating a list form a string array

String[] myStrings = new String[] {"Elem1","Elem2","Elem3","Elem4","Elem5"};

List mylist = Arrays.asList(myStrings );

//getting an iterator object to browse list items

Iterator itr= mylist.iterator();

System.out.println("Displaying List Elements,");

while(itr.hasNext())

  System.out.println(itr.next());

22
2018-05-13 15:26



Depuis Java 7 vous avez inférence de type pour la création d'instance générique, il n'est donc pas nécessaire de dupliquer les paramètres génériques du côté droit de l'affectation:

List<String> list = new ArrayList<>();

Une liste de taille fixe peut être définie comme:

List<String> list = Arrays.asList("foo", "bar");

Pour les listes immuables, vous pouvez utiliser Goyave bibliothèque:

List<String> list = ImmutableList.of("foo", "bar");

21
2017-11-21 14:53



liste est juste une interface tout comme Ensemble.

Comme HashSet est une implémentation d'un ensemble qui a certaines propriétés en ce qui concerne l'ajout / recherche / suppression des performances, ArrayList est l'implémentation nue d'une liste.

Si vous jetez un œil à la documentation des interfaces respectives, vous trouverez «Toutes les classes d'implémentation connues» et vous pourrez choisir celle qui convient le mieux à vos besoins.

Les chances sont que c'est ArrayList.


20
2018-05-13 15:55