๐ค study/Java
![[Java] ObjectMapper๋? | ์ง๋ ฌํ, ์ญ์ง๋ ฌํ | Jackson ๋ผ์ด๋ธ๋ฌ๋ฆฌ | Serialize, Deserialize | Json Parsing](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBy7NK%2FbtrIsRGrTvO%2F7EUudV6UvhhTsqkcOR5SXk%2Fimg.png)
[Java] ObjectMapper๋? | ์ง๋ ฌํ, ์ญ์ง๋ ฌํ | Jackson ๋ผ์ด๋ธ๋ฌ๋ฆฌ | Serialize, Deserialize | Json Parsing
ObjectMapper๋? : JSON ํ์์ ์ฌ์ฉํ ๋, ์๋ต๋ค์ ์ง๋ ฌํํ๊ณ , ์์ฒญ๋ค์ ์ญ์ง๋ ฌํ ํ ๋ ์ฌ์ฉํ๋ ๊ธฐ์ ์ด๋ค. ๋ค๋ฅธ ์๋ฒ๋ค๊ณผ ์ํตํ ๋ ๋ณดํต json์ ์ฌ์ฉํ๋ค. ๊ทธ๋์ ์์๋ฌ์ผํจ! ์ง๋ ฌํ(Serialize) : Object๋ฅผ Textํํ์ JSON์ผ๋ก๋ ๋ณํํด์ค๋ค. ์ญ์ง๋ ฌํ(Deserialize) : text ํํ์ JSON์ Object๋ก ๋ณํํด์ค๋ค. SpringBoot์ ๊ฒฝ์ฐ, spring-boot-starter-web์ ๊ธฐ๋ณธ์ ์ผ๋ก Jackson ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ด์ Object โ JSON ๊ฐ ๋ณํ์ด ์๋์ผ๋ก ์ฒ๋ฆฌ๋๋ค. Jackson ๋ผ์ด๋ธ๋ฌ๋ฆฌ : ์๋ฐ์์ ๊ณ ์์ค์ JSON Parser๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค @RestController์์๋, Jackson ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ด์ request..
![[Java] ์๋ฌ์ฒ๋ฆฌ | Try-catch | ์ปดํ์ผ ์ค๋ฅ, ๋ฐํ์ ์ค๋ฅ, ๋
ผ๋ฆฌ ์ค๋ฅ | ์์ธ์ฒ๋ฆฌ ๋ฐฉ๋ฒ | checked, unchecked exception | ์์ธ ์ฐ์ ์์](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FyLzdv%2FbtrH2hkUiNP%2FxvIZFh0D75R7et75cBQ4n0%2Fimg.jpg)
[Java] ์๋ฌ์ฒ๋ฆฌ | Try-catch | ์ปดํ์ผ ์ค๋ฅ, ๋ฐํ์ ์ค๋ฅ, ๋ ผ๋ฆฌ ์ค๋ฅ | ์์ธ์ฒ๋ฆฌ ๋ฐฉ๋ฒ | checked, unchecked exception | ์์ธ ์ฐ์ ์์
Try-catch try? catch? ์์ธ์ฒ๋ฆฌ๋ ๋ญ ํ๋ ๊ฑด๊ฐ์? ํ๋ก๊ทธ๋๋ฐ ์ค๋ฅ์ ์ข ๋ฅ ์ปดํ์ผ ์ค๋ฅ : ํ๋ก๊ทธ๋จ์ ์คํ์ ๋ง๋ ์ค๋ฅ, ๋๋ถ๋ถ ๋ฌธ๋ฒ์ ์ธ ์ค๋ฅ๋ค. //1 (ํค์๋ ๋ง์ถค๋ฒ ์ค๋ฅ) inet num = 1; //2 (์ธ๋ฏธ์ฝ๋ก ๋๋ฝ) boolean a = false //3 (endif๋ฌธ๋ถํฐ ์ฌ์ฉ) end if(!a) { return; } //4 (์ ์ธ์๋ ๋ณ์ ์ฌ์ฉ) b = 3; ๋ฐํ์ ์ค๋ฅ : ํ๋ก๊ทธ๋จ ์คํ ์ค ๋ฐ์ํ๋ ์ค๋ฅ, ์ํํ ์ ์๋ ์์ ์๋์ ๋ฐ์ 1. 0์ผ๋ก ๋๋๋ ๊ฒฝ์ฐ 2. ๋ฌดํ๋ฃจํ์ ๋น ์ง๋ ๊ฒฝ์ฐ 3. null point error ๋ ผ๋ฆฌ ์ค๋ฅ : ์ฌ์ฉ์๊ฐ ์๋ํ ์์ ์ ํ๋ก๊ทธ๋จ์์ ์ํํ์ง ๋ชปํ๋ ์ค๋ฅ, ์์ธก ๋ถ๊ฐ๋ฅํ ์ค๋ฅ try-catch ์ ์ : ์์ธ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๊ตฌ๋ฌธ ..
![[Java] length, size()์ ์ฐจ์ด](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbju9Wp%2FbtrtNQHHHRp%2Fag50eiOeSXkU97iHKpS9qk%2Fimg.png)
[Java] length, size()์ ์ฐจ์ด
๐ค length array.length -> ๋ฐฐ์ด์ ๊ธธ์ด ๊ตฌํ ๋ ์ฌ์ฉ int[] array = new int[10]; System.out.println(array.length); // ์ถ๋ ฅ : 10 ๐ค size() list.size() -> collection ํ์ ์ ์ฌ์ด์ฆ๋ฅผ ๊ตฌํ ๋ ํ์ํ๋ค.(ArrayList) List l = new ArrayList(); l.add(1); l.add(2); System.out.println(l.size()); // ์ถ๋ ฅ : 2
![[Java] HashMap์ ๋ฆฌ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQ8oFr%2FbtrtlmVWZ1j%2FOFbkeveKeJsAND6uUmHEpk%2Fimg.jpg)
[Java] HashMap์ ๋ฆฌ
๐ฅ ์ด ํฌ์คํ ์ ๋ ธ๋ง๋์ฝ๋, ์๋ฐ์์ ์๋์ ์์์ ๋ณด๊ณ ๊ฐ๊ฒฐํ๊ฒ ์ ๋ฆฌํ์ต๋๋ค. HashMap์ key-value ์์คํ ์ผ๋ก Map ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๋ํ์ ์ธ ์ปฌ๋ ์ ํด๋์ค๋ค. ๐ค HashMap๊ณผ List ๋น๊ต List : O(N) - ์ผ์ผํ ์์ดํ ์ ํ์ํ๋ ๊ตฌ์กฐ(์์ดํ ์ด ๋ง์์ง์๋ก ์๊ฐ์ด ์ฆ๊ฐ) HashMap : O(1) - ์ฐพ๋๋ฐ ๋จ 1 ์คํ ๋ง ๋ค์ด๊ฐ => ๋งค์ฐ ๋น ๋ฆ! ๐ค ํด์ฑ(Hashing)์ด๋? hash function์ ํตํด data๋ฅผ ์ ์ฅํ๊ณ ์ฝ์ด์ค๋ ๋ฐฉ๋ฒ key๊ฐ์ ๋ฃ์ผ๋ฉด index(์ ์ฅ์์น, Hash Code)๋ฅผ ์๋ ค์ค๋ค. โญ๏ธ ํด์ฑ ์์ : ํค๋ก ํด์ํจ์ ํธ์ถ -> hash function์ ํตํด hash code์ป์ด์ด -> hash code์ ๋์ํ๋ ๋งํฌ๋๋ฆฌ์คํธ ๋ฐฐ์ด์์ ์ฐพ์ -> ..
[Java] ์ ๊ท์ ์ ๋ฆฌ
๊ณ์ ์ถ๊ฐํ ๊ณํ.. ๐ค ๋ฌธ๋ฒ 1. ์ฐ์๋ ๋ฌธ์์ด ์นํํ๊ธฐ str.replaceAll("\\s{2,}", ""); \\s : ๋ฌธ์์ด (ํน์๋ถํธ์ ์ฐ์์ธ ๊ฒฝ์ฐ \\. ์ ๊ฐ์ด ์ฌ์ฉ) {2,} : 2ํ ์ด์์ 2. ํน์ ๋ฌธ์๋ฅผ ์ ์ธํ ๋ชจ๋ ๋ฌธ์ ์ ๊ฑฐ s = s.replaceAll("[^\\d\\-_.]*", ""); //์ซ์๋ -,_,.์ด ๋ค์ด๊ฐ์ง ์์ผ๋ฉด ๋ชจ๋ ์ ๊ฑฐ \\d : ์ซ์(0-9)๋ฅผ ์๋ฏธ ^ : (์ค๊ดํธ ์์ ๋ค์ด๊ฐ ์๋ ๊ฒฝ์ฐ)not์กฐ๊ฑด, "๊ทธ ๋ค์ ๋ค์ด๊ฐ๋ ๋ฌธ์์ด์ ํด๋นํ์ง ์์ผ๋ฉด ~" ์ด๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ์ง. \\ : \d์ ๊ฐ์ \๊ฐ ์์ฒด์ ์ผ๋ก ๋ค์ด๊ฐ๋ ๋ฌธ๋ฒ์ด๋ ํน์๋ฌธ์์ ์ฌ์ฉ์ ํ์ํจ 3. ํน์ ๋ฌธ์๋ก ์์ํ๊ฑฐ๋ ์ข ๋ฃํ๋ ๊ฒฝ์ฐ์ ์ ๊ฑฐ new_id = new_id.replaceAll("^[.]|[..
[Java] ArrayList<Integer>๋ฅผ int[]๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ
1. int์ Integer์ ์ฐจ์ด int๋ primitive ์๋ฃํ์ผ๋ก ์ฐ์ฐ์ด ๊ฐ๋ฅํ์ง๋ง null๋ก ์ด๊ธฐํ ํ ์ ์๋ค๋ ์ ์ด ํน์ง์ด๋ค. Integer๋ Wrapper ํด๋์ค๋ก ์ฐ์ฐ์ด ๋ถ๊ฐ๋ฅํ์ง๋ง null๊ฐ์ ๊ฐ์ง ์ ์๋ค. ์ ์ธ int i = 0; Integer j = new Integer(10); Integer๊ฐ ์ฐ์ฐ์ ํ๊ธฐ ์ํด์๋ Unboxing๊ณผ์ ์ด ํ์ํ๋ค. Integer j = new Integer(5); int k = j.intValue(); //unboxing 2. ArrayList๋ฅผ int[]๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ List list = new ArrayList(Arrays.asList(1,2,3,4)); System.out.println(list.getClass().getSimpleName..