- 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");
}