The first listing here, which may look more familiar, is considerably longer than the second listing, even though they’re essentially equivalent.
Listing 1.List friends = new ArrayList();friends.add("Ben");friends.add("Kiran");friends.add("....");
You can replace all the code in Listing 1 with an anonymous class that uses an instance initializer as shown in Listing 2.
Listing 2.new ArrayList(){{add("Ben");add("Kiran");add("....");}};