programming study/B-Java
코딩 메모
gu9gu
2023. 7. 5. 10:13
java
ABean abean
= Arrays.stream(리스트)
.filter(조건)
.findAny()
.map(m -> { // 조건에 맞게 있으면 Bean 객체로 만들어서 반환
ABean abean = new ABean ();
bean.setA(m.getA());
return abean
}
).orElse(null); // 조건에 맞는 값 없으면 null
stream().findAny()
스트림 병렬 스트림에서 여러 쓰레드가 동시에 작업하므로 먼저 처리된 요소가 반환될 수 있다.
스트림의 요소 순서가 중요하지 않거나 어떤 요소여도 상관 없을 때 사용합니다.
또한 빠르게 결과를 내고 싶을 때 사용합니다.
인터페이스에 중첩 추상클래스?
interface A {
abstract class Data {
protected final Pattern DATA_PATTERN = "";
}
/*
java8부터 인터페이스 내부에 기본 메서드를 구현 해둘 수 있게 됐는데,
중첩 추상 클래스를 둠으로써 메서드들을 그룹화하고 캡슐화 해서 사용하도록 하기 위함?
*/
abstract class MemberData extends Data {
protected Long memberInfoUid;
protected int level;
public MemberData Apply(memberInfoUid, level) {
this.memberInfoUid = memberInfoUid;
this.level = level;
return this;
}
}
}