loop에서 Map
의 key만 필요한 경우에는 keySet
을 이용하여 순회하는 것이 좋습니다.
반면 key, value가 모두 필요한 경우라면, 양쪽 모두 접근할 수 있게 해주는 entrySet
을 사용하여 순회하는 것이 더 효율적입니다.
규칙을 어긴 코드
public void doSomethingWithMap(Map<String,Object> map) {
for (String key : map.keySet()) { // 규칙을 어긴 코드; 키 값은 value를 얻기위해서만 사용되고 있습니다.
Object value = map.get(key);
// ...
}
}
규칙을 준수한 해결책
Arrays.asList("a1", "a2", "b1", "c2", "c1").stream()
.filter(...)
.forEach(...);
int[] intArray = new int[]{1, 2, 3, 4};
Arrays.stream(intArray)
.filter(...)
.forEach(...);
If you like SONARKUBE, don’t forget to give me a star.