[Java] Steam의 filter 예제
- 📕 Programing/Java
- 2021. 10. 14. 17:39
목표 : 특정 리스트에서 해당값에 해당하는 객체 가져오기
테스트 : 객체에서 아반떼라는 name을 가진 객체를 찾아서 담기
package org.kyhslam;
import java.util.*;
import java.util.stream.Stream;
public class StreamMap {
public static class Car {
String name;
int price;
String keyword;
public Car(String name, int price, String keyword) {
this.name = name;
this.price = price;
this.keyword = keyword;
}
}
public static void main(String[] args) {
ArrayList<Car> list = new ArrayList<Car>();
list.add(new Car("아반떼", 1500, "아"));
list.add(new Car("아반떼", 3000, "아"));
list.add(new Car("테슬라", 6000, "테"));
list.add(new Car("그랜저", 3000, "그"));
Stream<Car> fList = list.stream().filter(x -> x.name.equals("아반떼"));
fList.forEach(c -> System.out.println(c.name + ":" + c.price));
}
}
아반떼:1500
아반떼:3000
결과
아반떼:1500
아반떼:3000
기타
Optional<Car> opCar = list.stream().filter(x -> x.name.equals("아반떼")).findAny();
System.out.println("opCar = " + opCar);
opCar.stream().forEach(s -> System.out.println(s.name + " : " + s.price));
결과
근데 2개가 아니라 처음찾은 객체만 가져온다.
아반떼 : 1500
'📕 Programing > Java' 카테고리의 다른 글
[Java] 객체의 특정 값으로 오름|내림 차순 정렬 (Comparable 사용) (0) | 2022.04.27 |
---|---|
[Java] HTTP 방식으로 POST 통신 (1) | 2021.11.02 |
[Java] 특정 객체의 값을 오름|내림 차순 정렬 (Comparator ) (0) | 2021.10.14 |
[Java] 메서드 실행 시간 구하기(초) (0) | 2021.10.13 |
SAP RFC 연결 오류 (0) | 2021.09.02 |