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;
        }
    }
}