/* 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
{
{
List
< Map
< String ,
String > > listOfMapsOfNames
= new ArrayList
<> ( ) ;
mapOfNames.put ( "name" , "John" ) ;
mapOfNames.put ( "lastname" , "McKoy" ) ;
listOfMapsOfNames.
add ( Map .
copyOf ( mapOfNames
) ) ; // Make an unmodifiable copy of map to be added to list.
System .
out .
println ( "map before clear: " + mapOfNames
) ; mapOfNames.clear ( ) ;
System .
out .
println ( "map after clear: " + mapOfNames
) ;
mapOfNames.put ( "name" , "Tom" ) ;
mapOfNames.put ( "lastname" , "Red" ) ;
listOfMapsOfNames.
add ( Map .
copyOf ( mapOfNames
) ) ; // Make an unmodifiable copy of map to be added to list.
System .
out .
println ( "map after 2nd add: " + mapOfNames
) ; System .
out .
println ( "list at the end: " + listOfMapsOfNames
) ; }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCUxpc3Q8IE1hcDwgU3RyaW5nLCBTdHJpbmcgPiA+IGxpc3RPZk1hcHNPZk5hbWVzID0gbmV3IEFycmF5TGlzdDw+KCkgOwoJCU1hcDwgU3RyaW5nLCBTdHJpbmcgPiBtYXBPZk5hbWVzID0gbmV3IEhhc2hNYXA8PigpIDsKCQkKCQltYXBPZk5hbWVzLnB1dCggIm5hbWUiLCAiSm9obiIgKTsKCQltYXBPZk5hbWVzLnB1dCggImxhc3RuYW1lIiwgIk1jS295IiApOwoJCWxpc3RPZk1hcHNPZk5hbWVzLmFkZCggTWFwLmNvcHlPZiggbWFwT2ZOYW1lcyApICk7ICAvLyBNYWtlIGFuIHVubW9kaWZpYWJsZSBjb3B5IG9mIG1hcCB0byBiZSBhZGRlZCB0byBsaXN0LgoJCQoJCVN5c3RlbS5vdXQucHJpbnRsbiggIm1hcCBiZWZvcmUgY2xlYXI6ICIgKyBtYXBPZk5hbWVzICk7CgkJbWFwT2ZOYW1lcy5jbGVhcigpOwoJCVN5c3RlbS5vdXQucHJpbnRsbiggIm1hcCBhZnRlciBjbGVhcjogIiArIG1hcE9mTmFtZXMgKTsKCQkKCQltYXBPZk5hbWVzLnB1dCggIm5hbWUiLCAiVG9tIiApOwoJCW1hcE9mTmFtZXMucHV0KCAibGFzdG5hbWUiICwgIlJlZCIgKTsKCQlsaXN0T2ZNYXBzT2ZOYW1lcy5hZGQoIE1hcC5jb3B5T2YoIG1hcE9mTmFtZXMgKSApOyAgLy8gTWFrZSBhbiB1bm1vZGlmaWFibGUgY29weSBvZiBtYXAgdG8gYmUgYWRkZWQgdG8gbGlzdC4KCQkKCQlTeXN0ZW0ub3V0LnByaW50bG4oICJtYXAgYWZ0ZXIgMm5kIGFkZDogIiArIG1hcE9mTmFtZXMgKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oICJsaXN0IGF0IHRoZSBlbmQ6ICIgKyBsaXN0T2ZNYXBzT2ZOYW1lcyApOwoJfQp9