Skip to content

Commit 3a33271

Browse files
committed
fix: optimize year selection in AddEmployee and EmployeeDetails forms using IntStream
1 parent b3d2691 commit 3a33271

2 files changed

Lines changed: 6 additions & 5 deletions

File tree

src/main/java/ui/AddEmployee.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.time.Month;
2020
import java.util.Arrays;
2121
import java.util.Objects;
22+
import java.util.stream.IntStream;
2223
import java.util.stream.Stream;
2324

2425
import static utils.Util.getDaysInMonth;
@@ -45,9 +46,9 @@ public AddEmployee() {
4546
.map(m -> Displayable.toDisplayName(m.name()))
4647
.forEach(jComboMonth::addItem);
4748

48-
for (int i = LocalDate.now().getYear(); i >= LocalDateTime.now().minusYears(1000).getYear(); i--) {
49-
jComboYear.addItem(String.valueOf(i));
50-
}
49+
IntStream.iterate(LocalDate.now().getYear(), year -> year - 1)
50+
.limit(1001)
51+
.forEach(y -> jComboYear.addItem(String.valueOf(y)));
5152

5253
Arrays.stream(CivilStatus.values())
5354
.map(CivilStatus::getDisplayName)

src/main/java/ui/EmployeeDetails.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import javax.swing.*;
2121
import java.time.LocalDate;
22-
import java.time.LocalDateTime;
2322
import java.time.Month;
2423
import java.util.Arrays;
2524
import java.util.Optional;
@@ -49,7 +48,8 @@ public EmployeeDetails() {
4948
.map(m -> Displayable.toDisplayName(m.name()))
5049
.forEach(month::addItem);
5150

52-
IntStream.rangeClosed(LocalDate.now().getYear(), LocalDateTime.now().minusYears(1000).getYear())
51+
IntStream.iterate(LocalDate.now().getYear(), year -> year - 1)
52+
.limit(1001)
5353
.forEach(y -> year.addItem(String.valueOf(y)));
5454

5555
String company_name = DOTENV.get("COMPANY_NAME");

0 commit comments

Comments
 (0)