[스프링] 웹 개발 기초 4

기록지·2022년 12월 19일
0

스프링

목록 보기
4/4

package hello.hellospring.repository;

import hello.hellospring.domain.Member;

import java.util.*;

public class MemoryMemberRepository implements MemberRepository{

private static Map<Long, Member> store = new HashMap<>();
private static long sequence = 0L;
@Override
public Member save(Member member){
    member.setId(++sequence);
    store.put(member.getId(), member);
    return member;
}

@Override
public Optional<Member> findById(Long id) {
    return Optional.ofNullable(store.get(id)); // ofNullable -> null 처리
}

@Override
public Optional<Member> findByName(String name) {
    //loop 람다
    //member 에서 파라미터의 name 이 같은 경우에 하나라도 찾으면 반환
    //없으면 optional null 반환
    return store.values().stream()
            .filter(member -> member.getName().equals(name))
            .findAny();

}

@Override
public List<Member> findAll() {
    return new ArrayList<>(store.values());
}

}

0개의 댓글