openrewrite / openrewrite/rewrite-static-analysis
prefer `map.entrySet()` over manual iteration of the `keySet` and manual access to the values
Open
Nobody has claimed this yet.
recipe
- Dominant language
- Java
- Stars
- 62
- Forks
- 112
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 40
Description
Map<String,String> map = new HashMap<>();
map.put("hello","world");
for (String key : map.keySet()){
String value = map.get(key);
System.out.println("Key " + key + " value " + value);
}
Map<String,String> map = new HashMap<>();
map.put("hello","world");
for (Map.Entry<String, String> entry : map.entrySet()){
System.out.println("Key " + entry.getKey() + " value " + entry.getValue());
}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the existing Java recipe and test structure for map-iteration transformations; the issue provides only before-and-after examples, not file names or a failing test. Done means manual keySet/get loops are identified and rewritten to entrySet iteration, with tests covering the shown behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100