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;
}
}
}
'programming study > B-Java' 카테고리의 다른 글
Hash 자료구조, hashCode()와 equals() 재정의, List/Map/Set, String/StringBuilder/StringBuffer, int/Integer (0) | 2023.04.28 |
---|---|
java 버전 별 특징 (0) | 2023.04.20 |
JVM, Garvage collection, Memory leak, Out Of Memory (0) | 2023.04.14 |
Enumeration, Iterator (0) | 2022.11.30 |
java-함수형 인터페이스 @FunctionalInterface (0) | 2022.09.16 |