/* package whatever; // don't place package name! */
import java.util.*;
import java.util.stream.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
Map
<String, Number
> map
= new HashMap
<>(); map.put("1", 1);
map.put("3", 3);
map.put("10", 10);
map.put("5", 5);
map.put("2", 2);
map.put("4", 4);
map.put("6", 6);
map.put("8", 8);
map.put("7", 7);
map.put("9", 9);
Map
<String, Number
> topValues
= getTopValuesDataMap
(map,
5); System.
out.
println("Integers:");
map.clear();
map.put("1.1", 1.1f);
map.put("1.3", 1.3f);
map.put("1.9", 1.9f);
map.put("1.5", 1.5f);
map.put("1.6", 1.6f);
map.put("1.2", 1.2f);
map.put("1.4", 1.4f);
map.put("1.8", 1.8f);
map.put("1.7", 1.7f);
topValues = getTopValuesDataMap(map, 5);
System.
out.
println("Floats:"); }
private static Map
<String, Number
> getTopValuesDataMap
(Map
<String, Number
> chartDataMap,
int limit
) { return chartDataMap.entrySet().stream()
(oldValue, newValue) -> oldValue, LinkedHashMap::new));
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS51dGlsLnN0cmVhbS4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCU1hcDxTdHJpbmcsIE51bWJlcj4gbWFwID0gbmV3IEhhc2hNYXA8PigpOwoJCW1hcC5wdXQoIjEiLCAxKTsKCQltYXAucHV0KCIzIiwgMyk7CgkJbWFwLnB1dCgiMTAiLCAxMCk7CgkJbWFwLnB1dCgiNSIsIDUpOwoJCW1hcC5wdXQoIjIiLCAyKTsKCQltYXAucHV0KCI0IiwgNCk7CgkJbWFwLnB1dCgiNiIsIDYpOwoJCW1hcC5wdXQoIjgiLCA4KTsKCQltYXAucHV0KCI3IiwgNyk7CgkJbWFwLnB1dCgiOSIsIDkpOwoJCQoJCU1hcDxTdHJpbmcsIE51bWJlcj4gdG9wVmFsdWVzID0gZ2V0VG9wVmFsdWVzRGF0YU1hcChtYXAsIDUpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigiSW50ZWdlcnM6Iik7CgkJU3lzdGVtLm91dC5wcmludGxuKFN0cmluZy5qb2luKCIsIiwgdG9wVmFsdWVzLmtleVNldCgpKSk7CgkJU3lzdGVtLm91dC5wcmludGxuKCk7CgkJCgkJbWFwLmNsZWFyKCk7CgkJbWFwLnB1dCgiMS4xIiwgMS4xZik7CgkJbWFwLnB1dCgiMS4zIiwgMS4zZik7CgkJbWFwLnB1dCgiMS45IiwgMS45Zik7CgkJbWFwLnB1dCgiMS41IiwgMS41Zik7CgkJbWFwLnB1dCgiMS42IiwgMS42Zik7CgkJbWFwLnB1dCgiMS4yIiwgMS4yZik7CgkJbWFwLnB1dCgiMS40IiwgMS40Zik7CgkJbWFwLnB1dCgiMS44IiwgMS44Zik7CgkJbWFwLnB1dCgiMS43IiwgMS43Zik7CgkJCgkJdG9wVmFsdWVzID0gZ2V0VG9wVmFsdWVzRGF0YU1hcChtYXAsIDUpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigiRmxvYXRzOiIpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihTdHJpbmcuam9pbigiLCIsIHRvcFZhbHVlcy5rZXlTZXQoKSkpOwoJfQoJCglwcml2YXRlIHN0YXRpYyBNYXA8U3RyaW5nLCBOdW1iZXI+IGdldFRvcFZhbHVlc0RhdGFNYXAoTWFwPFN0cmluZywgTnVtYmVyPiBjaGFydERhdGFNYXAsIGludCBsaW1pdCkgewogICAgCXJldHVybiBjaGFydERhdGFNYXAuZW50cnlTZXQoKS5zdHJlYW0oKQogICAgICAgICAgICAuc29ydGVkKE1hcC5FbnRyeS5jb21wYXJpbmdCeVZhbHVlKENvbXBhcmF0b3IuY29tcGFyaW5nKE51bWJlcjo6aW50VmFsdWUpLnJldmVyc2VkKCkpKS5saW1pdChsaW1pdCkKICAgICAgICAgICAgLmNvbGxlY3QoQ29sbGVjdG9ycy50b01hcChNYXAuRW50cnk6OmdldEtleSwgTWFwLkVudHJ5OjpnZXRWYWx1ZSwKICAgICAgICAgICAgICAgICAgICAob2xkVmFsdWUsIG5ld1ZhbHVlKSAtPiBvbGRWYWx1ZSwgTGlua2VkSGFzaE1hcDo6bmV3KSk7Cgl9Cn0=