Backend Spring
Repository ์ฝ๋ ์์ฑ ์คJava ๋ฌธ๋ฒ ์ ๋ฆฌ
adorableco
2023. 12. 19. 23:49
๋ฐ์ํ
Map<Long,Member>
- key ๋ก value๋ฅผ ์ป์ด๋ด๋ ๋ฐฉ์
- key ๋ ์ค๋ณต ํ์ฉ โ
- value ๋ ์ค๋ณต ํ์ฉ ๐
HashMap<String, String> map = new HashMap<String, String>();
map.put("name", "Sally");
-> key๊ฐ "name"์ด๊ณ , value๊ฐ "Sally" ์ธ ๊ฒ์ map์ ์ฝ์
ํ๋ ๊ฒ
Optional<T>
NullPointerException
์ ๋ฐฉ์งํ๊ธฐ ์ํด null ๊ฐ์ด ์ค๋ฉด ๊ฐ์ธ๋ ๊ฒOptional.ofNullable()
: ๊ฐ์ด null ์ด ์๋ ๊ฐ์ฒด ์์ฑOptional.of()
: ๊ฐ์ด null ์ด ์๋ ๊ฒฝ์ฐ์๋ง ๊ฐ์ฒด ์์ฑOptional.empty()
: ๊ฐ์ด ๊ฐ์ง ์๋ ๊ฐ์ฒด ์์ฑ #### Map ์์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ์ฒด ์ฐพ๊ธฐ
@Override
public Optional findByName(String name){
return store.values().stream()
.filter(member -> member.getName().equals(name))
.findAny(); }
map.values()
: map์ ๊ฐ(collection) ๋ค์ ๊ฐ์ ธ์จ๋ค. (๊ฐ์ ๊ฐ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์๋ฏธ).stream()
: collection์ stream์ผ๋ก ๋ณํํ๋ค.- stream() : Collection ๋ฐ์ดํฐ๋ฅผ ์ง์ ํํ๋ก ์ฒ๋ฆฌํ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฅ
.filter(member -> member.getName().equals(name))
:getName()
๋ฉ์๋๋ฅผ ํตํด ์ป์ ๋ฉค๋ฒ์ ์ด๋ฆ์ด, ์ฃผ์ด์งname
๊ณผ ์ผ์นํ๋์ง๋ฅผ ํ์ธํ๋ค.- ์ฌ๊ธฐ์ member ์ Map์ ๊ฐ ๊ฐ๋ค์ด stream์ผ๋ก ๋ณํ๋ ๊ฐ๋ค์ด๋ค. โก๏ธ ์ง์ง Member class๊ฐ ์๋๋ผ ์ผ์ข ์ ์์ ๋ณ์
.findAny()
: ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ์ฒด๊ฐ ์กด์ฌํ๋ฉด ํด๋น ๊ฐ์ฒด(member)์ Optional ๋ก ๋ฐํํ๊ณ , ์์ผ๋ฉด ๋น Optional์ ๋ฐํํ๋ค.
๋ฐ์ํ