728x90
반응형
소스 아래 링크글을 읽어봐라...
===========================================================================
public HashMap<String, String> funcT4() {
HashMap<String, String> map = new HashMap<>();
List<Student> studentList = List.of(
new Student("IronMan", 15, Gender.MALE),
new Student("Hulk", 18, Gender.MALE),
new Student("Captain", 17, Gender.MALE),
new Student("Black widow", 14, Gender.FEMMALE)
);
// List<Student> males = new ArrayList<>();
// for(Student student: studentList) {
// if(Gender.MALE.equals(student.gender)) {
// males.add(student);
// }
// }
// 위와 동일한 코드를 stream() 메서드를 이용해서 MALE인 학생만 males에 저장
// stream() 메서드는 Collection 이 가지고 있는 객체를 소스로 하는 Stream 클래스로 변환.
// fiter() 메서드는 그 결과가 true이면 Stream 타입의 리스트에 해당 값을 임시로 보관.
// collect() 메서드를 이용해서 list 형태로 변환.
List<Student> males = studentList.stream()
.filter(student -> Gender.MALE.equals(student.gender))
.collect(Collectors.toList());
for(Student student : males) {
System.out.println(student);
}
map.put("function", "funcT1");
map.put("result", "success");
return map;
}
class Student {
private final String name;
private final int age;
private final Gender gender;
public Student(String name, int age, Gender gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", gender=" + gender +
"}";
}
}
enum Gender {
MALE, FEMMALE
}
===========================================================================
https://koonsland.tistory.com/193
[Java] stream() 메소드를 이용해서 Collection 객체 가공하는 방법
Java를 사용해서 애플리케이션을 만들고, 또 웹을 만들다 보면 Java8 버전의 stream() 메서드를 많이 사용하게 됩니다. 여러 번의 반복된 작업을 굉장히 간략히 변경해서 사용하고, 또 객체들을 가공
koonsland.tistory.com
728x90
반응형
'IT > JAVA' 카테고리의 다른 글
ssh를 활용해서 다른 서버로 접속하여 명령어를 실행하기..jsch (0) | 2023.04.20 |
---|---|
RestTemplate 관련 글 (0) | 2023.01.17 |
List.of 와 Arrays.asList 의 차이점 (0) | 2022.12.23 |
Lists.newArrayList() (0) | 2022.12.22 |
forEach를 사용한 List, Map 순회하기 (0) | 2022.12.22 |
댓글