when to use which list in java code example

Example 1: list in java

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.ListIterator;
public class Main {
   public static void main(String[] args) {
      List<String> list = new ArrayList<String>();
      list.add("a");
      list.add("b");
      list.add("c");
      list.add("d");
      list.add("e");
      list.add("f");
      
      //On met la liste dans le désordre
      Collections.shuffle(list);
      System.out.println(list);
      
      //On la remet dans l'ordre
      Collections.sort(list);
      System.out.println(list);
      
      Collections.rotate(list, -1);
      System.out.println(list);
      
      //On récupère une sous-liste
      List<String> sub = list.subList(2, 5);
      System.out.println(sub);
      Collections.reverse(sub);
      System.out.println(sub);
      
      //On récupère un ListIterator
      ListIterator<String> it = list.listIterator();
      while(it.hasNext()){
         String str = it.next();
         if(str.equals("d"))
            it.set("z");
      }
      while(it.hasPrevious())
         System.out.print(it.previous());
      
   }
}

Example 2: list in java

LIST: Can store duplicate values,
      Keeps the insertion order. 
      It allows multiple null values, 
      Also we can read a certain value by index.
- ArrayList not syncronized, array based class 
- LinkedList not synchronized, doubly linked
- Vector is synchronized, thread safe

Example 3: java list

import java.util.*;
var list = new ArrayList<Foo>();
list.add(new Foo());