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