HashMap<String, String> map = new HashMap<String, String>();
map.put("name", "Sally");
-> key가 "name"이고, value가 "Sally" 인 것을 map에 삽입하는 것
NullPointerException 을 방지하기 위해 null 값이 오면 감싸는 것Optional.ofNullable() : 값이 null 이 와도 객체 생성Optional.of() : 값이 null 이 아닌 경우에만 객체 생성Optional.empty() : 값이 갖지 않는 객체 생성 @Override
public Optional<Member> findByName(String name) {
return store.values().stream()
.filter(member -> member.getName().equals(name))
.findAny();
}
map.values() : map의 값(collection) 들을 가져온다. (값은 각각의 객체를 의미).stream(): collection을 stream으로 변환한다. .filter(member -> member.getName().equals(name)) : getName() 메서드를 통해 얻은 멤버의 이름이, 주어진 name 과 일치하는지를 확인한다..findAny() : 위 조건에 만족하는 객체가 존재하면 해당 객체(member)을 Optional 로 반환하고, 없으면 빈 Optional을 반환한다.