// use of the :: lambda operator List<Integer> list = Arrays.asList( 1, 2, 3, 4 ); // without lambda expressions with auto-unboxing: for ( Integer i: list ) { System.out.println( i ); } // with lambda expression: list.forEach( i -> System.out.println( i ) ); // with :: double colon shortcut. Note the odd place it is inserted. // I think they could have more logically used . in place of ::. list.forEach( System.out::println );