我正在寻找一种最好的方法来循环一个涉及尽可能少的资源的地图.假设我有一个对象作为值,键是一个引用该对象的字符串.通过以下两个循环,我可以知道哪一个更好,你是如何证明它只运行最少的资源?
for(Map.Entry<String, MyObject> entry : myMap.entrySet()) {
...
}
for( String key : myMap.keySet() ) {
...
}
Run Code Online (Sandbox Code Playgroud)
谢谢 @!
这取决于Map您使用的具体内容.因为它Map是一个界面,所以无法分辨它.
在大多数地图实现都entrySet和keySet会返回一个视图的基本设置项/密钥的,所以我说,他们很可能在各方面或多或少效率.
请注意,如果您检索所有条目,则同时获取值.如果您经常需要该值,这可以节省您一些时间.