ArrayList Initialization List<Integer> arrayList = new ArrayList<>(); List<Integer> arrayList = new ArrayList<>(Arrays.asList(1, 2, 3)); List<List<Integer>> listOfList = new ArrayList<>(); Print for (int elem : arrayList) { System.out.println(elem); } for (List<Integer> list : listOfList) { for (int elem : list) { System.out.println(elem); } } Sort in ascending order Collections.sort(arrayList); Sort in ascending order Collections.sort(arrayList, Collections.reverseOrder()); Get a value at index i List<Integer> foo = new ArrayList<>(); int bar = foo.get(0); Create a deep copy of a list List<String> oldList = new ArrayList<>(); List<String> newList = new ArrayList<>(oldList); List of List List<List<String>> myList = new ArrayList<>();