我是Java的新手,经常发现我需要对Map<Key, Value>值进行排序.
由于值不是唯一的,我发现自己将其转换keySet为a array,并通过数组排序对该数组进行排序,并使用自定义比较器对与键关联的值进行排序.
有没有更简单的方法?
我很惊讶地发现以下Java代码片段已编译并运行:
for(final int i : listOfNumbers) {
System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)
其中listOfNumbers是一个整数数组.
我认为最终的声明只分配了一次.编译器是否创建了Integer对象并更改了它引用的内容?