style: use stream#3501
Conversation
PR SummaryRefactored collection-processing methods to use Java Streams for cleaner, more concise code. Replaced manual loops with stream-based implementations: getModelsAfter2000 filters, sorts by year, and maps to models; getGroupingOfCarsByCategory uses Collectors.groupingBy; getSedanCarsOwnedSortedByDate flattens owners' cars, filters for SEDAN, and sorts by year. Updated imports accordingly. Changes
autogenerated by presubmit.ai |
There was a problem hiding this comment.
✅ LGTM!
Review Summary
Commits Considered (1)
- 96f111d: style: use stream
Files Processed (1)
- collection-pipeline/src/main/java/com/iluwatar/collectionpipeline/ImperativeProgramming.java (4 hunks)
Actionable Comments (0)
Skipped Comments (3)
-
collection-pipeline/src/main/java/com/iluwatar/collectionpipeline/ImperativeProgramming.java [59-64]
readability: "Use streams for model extraction after 2000"
-
collection-pipeline/src/main/java/com/iluwatar/collectionpipeline/ImperativeProgramming.java [73-73]
enhancement: "Use Collectors.groupingBy for grouping by category"
-
collection-pipeline/src/main/java/com/iluwatar/collectionpipeline/ImperativeProgramming.java [84-90]
enhancement: "Compute sedan cars owned by date using a stream"
There was a problem hiding this comment.
🚨 Pull request needs attention.
Review Summary
Commits Considered (1)
- 58610c8: style: More standardized after modification.
Files Processed (1)
- collection-pipeline/src/main/java/com/iluwatar/collectionpipeline/ImperativeProgramming.java (4 hunks)
Actionable Comments (1)
-
collection-pipeline/src/main/java/com/iluwatar/collectionpipeline/ImperativeProgramming.java [59-64]
possible bug: "Use correct integer-based comparator for year when sorting models after 2000"
Skipped Comments (1)
-
collection-pipeline/src/main/java/com/iluwatar/collectionpipeline/ImperativeProgramming.java [81-91]
compatibility: "Potential incompatibility with Stream.toList() across Java versions"
| return cars.stream() | ||
| .filter(car -> car.year() > 2000) | ||
| .sorted(Comparator.comparing(Car::year)) | ||
| .map(Car::model) | ||
| .toList(); | ||
| } |
There was a problem hiding this comment.
Sorting by year using Comparator.comparing with an integer year may not compile if Car.year() returns a primitive int. Use Comparator.comparingInt(Car::year) to avoid primitive boxing and ensure correct compilation.
Pull Request Template
What does this PR do?
refactor: Optimize collection operations using Java Stream API