// 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 );