Core java_Collections

  •   List Initialization

private static void listInitialization(){

        //**** Way I (Mutable list) ****
        List<String> list = new LinkedList<String>(){
            {
                add("msg1");
                add("msg2");
            }
        };
        list.add("msg3");
        System.out.println(list.size());

 

        // **** Way II (Immutable list, can't be modified like add/delete) ****

        List<String> list2 = Arrays.asList("msg1", "msg2");

//        list2.add("msg3");
        System.out.println(list2.size());

        // make it mutable

        list2 = new ArrayList<>(Arrays.asList("msg1", "msg2"));
        list2.add("msg3");
        System.out.println(list2.size());

 

        // **** Way III (Singleton list, Immutable list) ****

        List<String> list3 = Collections.singletonList("msg");

        System.out.println(list3.size());

 

        // **** Way IV (Java 8) ****

        List<String> list4 = Stream.of("msg1", "msg2").collect(Collectors.toList());

        List<String> list5 = Stream.of("msg1", "msg2").collect(Collectors.toCollection(LinkedList::new));
        List<String> list6 = Stream.of("msg1", "msg2").collect(Collectors.collectingAndThen(Collectors.toList(),Collections::unmodifiableList));

    }


  • Map Initialization
private static Map<String, String> map = new HashMap<String, String>() {
{
put("Bird", "Bird");
put("Fruit", "Orange");
}
};

// Way II
private static Map<String, String> map2;

static {
map2 = new HashMap<>();
map2.put("Bird", "Bird");
map2.put("Fruit", "Orange");
}