/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
private class Foo {
int foo;
Foo( int foo) {
this .foo = foo;
}
}
{
HashMap
< Long , Foo
> map
= new HashMap
<> ( ) { { put( 0 , new Foo( 3 ) ) ;
put( 1 , new Foo( 5 ) ) ;
put( 2 , new Foo( 2 ) ) ;
} } ;
Comparator
< Foo
> comp
= ( lhs, rhs
) -> Integer .
compare ( lhs.
foo , rhs.
foo ) ; map
.stream ( )
.sortedBy ( comp)
.
forEach ( foo
-> System .
out .
println ( "Got " , foo.
foo ) ) ; }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXByaXZhdGUgY2xhc3MgRm9vIHsKCQlpbnQgZm9vOwoJCUZvbyhpbnQgZm9vKSB7CgkJCXRoaXMuZm9vID0gZm9vOwoJCX0KCX0KCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCUhhc2hNYXA8TG9uZywgRm9vPiBtYXAgPSBuZXcgSGFzaE1hcDw+KCl7ewoJCQlwdXQoMCwgbmV3IEZvbygzKSk7CgkJCXB1dCgxLCBuZXcgRm9vKDUpKTsKCQkJcHV0KDIsIG5ldyBGb28oMikpOwoJCX19OwoJCQoJCUNvbXBhcmF0b3I8Rm9vPiBjb21wID0gKGxocywgcmhzKSAtPiBJbnRlZ2VyLmNvbXBhcmUobGhzLmZvbywgcmhzLmZvbyk7CgkJbWFwCgkJCS5zdHJlYW0oKQoJCQkuc29ydGVkQnkoY29tcCkKCQkJLmZvckVhY2goZm9vIC0+IFN5c3RlbS5vdXQucHJpbnRsbigiR290ICIsIGZvby5mb28pKTsKCX0KfQ==
compilation info
Main.java:18: error: cannot infer type arguments for HashMap<K,V>
HashMap<Long, Foo> map = new HashMap<>(){{
^
reason: cannot use '<>' with anonymous inner classes
where K,V are type-variables:
K extends Object declared in class HashMap
V extends Object declared in class HashMap
Main.java:26: error: cannot find symbol
.stream()
^
symbol: method stream()
location: variable map of type HashMap<Long,Ideone.Foo>
2 errors
stdout