Language/Java
59
[JAVA] Stream
1. Stream ์ด๋? (0) ๋ป ๋ฐฐ์ด์ด๋ ์ปฌ๋ ์
ํ๋ ์์ํฌ ์์ ์ ์ฅ๋ ์์๋ค์ ํ๋์ฉ ์ํ ํ๋ฉด์ ์ฝ๋๋ฅผ ์คํํ ์ ์๋ ๊ธฐ๋ฅ์ ๋งํจ. ๋ด๋ถ์ ๋ฐ๋ณต์๊ฐ ๋ฐ๋ก ์กด์ฌํจ. Java 8๋ถํฐ ์ถ๊ฐ ๋์๊ณ , ๊ทธ ์ด์ ์์ ์๋ ๋ฐฐ์ด์ด๋ ์ปฌ๋ ์
์ ๋ํ ์ํ ์ฐ์ฐ์ ํ ๋๋ for, foreach๋ฅผ ์จ์ผ ํ๊ฑฐ๋ Iterator ์จ์ผํด์ ์ฝ๋ ์๊ฐ ๋ง์์ง๊ณ ์ง์ ๋ถ ํ์. ํ์ง๋ง Stream ๋์ ์ฝ๋๊ฐ ๊ฐํธํด์ง๊ณ ๊ฐ๋
์ฑ์ด ์ข์์ง. (1) ์์ฑ a. ๊ธฐ๋ณธ ์๋ฃํ ๋ฐฐ์ด์ ๋ํ Stream ์์ฑ **์ฐธ๊ณ : ๋ฐฐ์ด(a,b)๋ ๋ฐฐ์ด์ ๋ํ ๋ค์ํ ๋งค์๋๊ฐ ์ ์ฅ๋์ด ์๋ Arrays ํด๋์ค๋ฅผ ์ด์ฉํ์ฌ Stream ์์ฑ // int ๋ฐฐ์ด ์์ฑ int[] scores = {100, 95,90,85,80}; // Arrays.stre..
2023.02.18
Language/Java

[JAVA] ๋๋ค์๊ณผ ํจ์ํ ์ธํฐํ์ด์ค
1. ๋๋ค์ (1) ์ ์ ์ต๋ช
ํจ์ (์ด๋ฆ์ด ์๋ ํจ์) == ์ ๊ทผ์ ์ด์, ๋ฐํํ, ํจ์์ด๋ฆ, ํ๋ผ๋ฏธํฐ์ ์๋ฃํ ๋ค ํ์ ์์. ๋๋ค์๋ ์ผ๊ธ ๊ฐ์ฒด์ด๋ค. **์ผ๊ธ ๊ฐ์ฒด๋? ๋ฐ์ดํฐ๋ ๋ณ์๋ฅผ ๋ฐ์ ์ ์๋ ๊ฐ์ฒด, ์ด๋ค ๋งค์๋์ ํ๋ผ๋ฏธํฐ๋ก ๋ค์ด๊ฐ ์ ์๋ ๊ฐ์ฒด, ์ด๋ค ๋งค์๋์ ๋ฐํ ๊ฐ์ด ๋ ์ ์๋ ๊ฐ์ฒด ์ด๋ค. (2) ํํ (์ ๋ฌ๊ฐ 1, ์ ๋ฌ๊ฐ2, ...) -> { ์คํ์ฝ๋ } 2. ํจ์ํ ์ธํฐํ์ด์ค (1) ๋ป ์ถ์ ๋งค์๋๊ฐ ์ค์ง ํ๋ ๋ฟ์ธ ์ธํฐํ์ด์ค (2)๋๋ค์๊ณผ์ ๊ด๊ณ ๋๋ค์์ ์ค์ง ํจ์ํ ์ธํฐํ์ด์ค๋ก๋ง ์ ๊ทผ ๊ฐ๋ฅ. ** why? ์ธํฐํ์ด์ค์ ์ถ์ ๋งค์๋๊ฐ ๋ ๊ฐ์ด๋ฉด, ๋๋ค์๊ณผ ๋งค์นญ๋๋ ์ถ์ ๋งค์๋๊ฐ ๋ฌด์์ธ์ง ๋ชจํธํด์ง๋ค. ๋ฐ๋ผ์ ์ถ์ ๋งค์๋๊ฐ ์ค์ง ํ๋์ธ ํจ์ํ ์ธํฐํ์ด์ค๋ง์ด ๋๋ค์๊ณผ ๋งค์นญ์ด ๊ฐ๋ฅํ์ฌ ์ธ ์..
2023.02.16
Language/Java

[JAVA] ์ต๋ช
ํด๋์ค
1.์ ์ ์ต๋ช
ํด๋์ค== ์ด๋ฆ ๋ชฐ๋ผ๋ ๋๋ ํด๋์ค == ๋ค์ ๋ถ๋ ค์ ์ฐ์ผ ์ผ์ด ์๋ ํด๋์ค == 1ํ์ฉ ํด๋์ค ๊ฐ์ฒด ๋ง๋ค ๋, ๊ทธ ๊ฐ์ฒด์ ํ์ํ ๋งค์๋ ์ฌ์ ์, ์ถ์ํ ํจ์ ์ค์ฒดํ๋ฅผ ๊ฐ์ด ํด๋ฒ๋ฆผ. (์ด๊ฑด ํด๋น ๋ด์ฉ์ผ๋ก ๋ค์ ์ฐ์ผ ์ผ์ด ์์ ๋ ์ ์ฉํ๋ค. ๋ง์ฝ ์ฌ์ฌ์ฉ์ด ํ์ํ๋ค๋ฉด ์์ ํด๋์ค๋ก ๋ง๋ค์ด๋๊ณ ์จ์ผํจ.) 2. ์ผ๋ฐ ํด๋์ค์ ๋ํ ์์ ์์ด ๋ค๋ฅธ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ฒฝ์ฐ (1) ์ฐ๋ฆฌ๊ฐ ์ธ ํด๋์ค class Coffee{ public void order(String coffee){ System.out.println("์ฃผ๋ฌธํ์ " + coffee + "๋์์ต๋๋ค. "); } public void returnTray(){ System.out.println("์ปคํผ ๋ฐ๋ฉ์ด ์๋ฃ๋์์ต๋๋ค."); }..
2023.02.15
Language/Java

[JAVA] Iterator
1. ๋ป ๋ฐฐ์ด, ์ปฌ๋ ์
ํ๋ ์ ์ํฌ๋ฑ์ ์ํํ ๋, ์ง๊ธ ์์น๊ฐ ์ด๋์ง ์๋ ค์ฃผ๋ '์ฑ
๊ฐํผ ๊ฐ์ ์กด์ฌ' Iterator๋ฅผ ์ํ๋ ์์น๋ก ์ด๋ ์์ผ์ ์ํ๋ ์์
(์กฐํ, ์ถ๊ฐ, ์ญ์ )์ ์ํจ๋ค. (1)Iterator์ ์ด๊ธฐ ์์น (2) ๋ฐ๋ณต์ ์ ์ ๋ Tip ๋ฐ๋ณต์ ์ ์ธ๋ฌธ์ ์ค๋ฅธ์ชฝ ํธ๋ง ๋ค ์ ์ด๋๊ณ , iterator(); ์ ctrl + alt + V ๋๋ฅด๋ฉด ์ผ์ชฝ์ด ์๋ ์์ฑ๋จ. Mudo.entrySet().iterator(); //ctrl + alt + v Iterator itEn3 = Mudo.entrySet().iterator(); 2. ์ฝ๋๋ฆฌ๋ทฐ package Chap_09; import java.util.*; public class _08_Iterator { public static void main..
2023.02.15
Language/Java
[JAVA] HashMap
1. HashMap ํน์ง (1) HashSet๊ณผ ๋๊ฐ์ด ์์ ๋ณด์ฅ x, ์ค๋ณต ํ์ฉ x ์ด๋ค. (Key๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ค๋ณต ์ฌ๋ถ check ํ๊ณ , ์ค๋ณต๋ Key๊ฐ์ด ๋ค์ด์ฌ ์, ๊ฐ์ฅ ์ต๊ทผ์ ์
๋ฐ์ดํธ ๋ Value๊ฐ์ ์ ์ฅํ๋ค. ) (2) HashMap์ (Key, Value) ํ ์์ผ๋ก ์ด๋ฃจ์ด์ ธ์๋ค. Key๊ฐ ์ฌ๋ฌผํจ ์ด์ , Value๊ฐ ์ฌ๋ฌผํจ์ ๋ค์ด์๋ ๊ฐ์ด๋ผ ์๊ฐํ๋ฉด ๋๊ฒ ๋ค. Key ํ๋๋น Value๋ ๋ฌด์กฐ๊ฑด ํ ๊ฐ์ด๋ค. (3) Key์ Value๋ ์๋ฃํ์ด ์๋ก ๋ค๋ฅผ ์ ์๋ค. (์๋ฃํ์ Wrapper ํด๋์ค๋ง ๊ฐ๋ฅ) 2. ์ฝ๋ ๋ฆฌ๋ทฐ import java.util.HashMap; public class _07_HashMap { public static void main(String[] args) { //..
2023.02.13
Language/Java

[JAVA]HashSet
1. HashSet์ด๋? Collection FrameWork์ ์ข
๋ฅ ์ค ํ๋ (์ปฌ๋ ์
ํ๋ ์ ์ํฌ์๋ List,Set,Map ์ด ์๋ค.) *์ปฌ๋ ์
ํ๋ ์ ์ํฌ๋? ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ๋ ์ฝ๊ณ ,ํธ๋ฆฌํ๊ฒ, ๋ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋๋ก ์๋ฐ์์ ์ ๊ณตํ๋ ํด๋์ค์ ๋ชจ์. HashSet ๋ด๋ถ ๋งค์๋ ๋ค์ List์ ๋งค์๋์ ๊ฑฐ์ ๊ฐ๋ค. (์ถ๊ฐ == .add, ์ญ์ == .remove ๋ฑ๋ฑ) (1)HashSet์ ํน์ง Hashset์ ์ค๋ณต์ ํ์ฉํ์ง ์๋๋ค. ๋ง์ฝ ์ค๋ณตํด์ ์ ์ด๋ ์๋์ผ๋ก ์ค๋ณต์ด ์ ๊ฑฐ ๋๋ค. Hashset์ ์์๋ฅผ ๋ณด์ฅํ์ง ์๋๋ค. ๊ฐ์ ๋ฃ์ ์์์ ์๊ด์์ด ์ ์ฅ๋๋ค. *๋ง์ฝ ๊ฐ์ ๋ฃ์ ์์๋๋ก ์ ์ฅ๋๊ธฐ ์ํ๋ค๋ฉด? LinkedHashSet์ ์ด์ฉํ๋ฉด ๋๋ค. 2. ์ฝ๋ ๋ฆฌ๋ทฐ package Cha..
2023.02.09
Language/Java

[JAVA] Linked List
1. Linked List๋? ํฌ์ธํฐ๊ฐ ๋ค์ ๋
ธ๋ ๊ฐ๋ฆฌํค๊ฒ ํด์ ์ด์ด์ ธ ์๋ ์๋ฃ๊ตฌ์กฐ. ์ค๊ฐ ์ค๊ฐ ์ฝ์
์ด ์ฌ์. (์ฌ๋๋ค์ด ์๋ก ์ ์ก๊ณ ์ผ๋ ฌ๋ก ์์๋๋ค๊ณ ์๊ฐํด๋ณด์. ์ค๊ฐ์ ์ฌ๋์ ๋ฃ์ ์ ๋ ์ฌ๋์ด ๊น์ง๋ฅผ ๋ผ๊ณ ๊ทธ ์ฌ์ด์ ๋ฃ์ผ๋ฉด ๋๋ค.) List ํํ(ArrayList, LinkedList)๋ ๋ชจ๋ ์ค๊ฐ ์ฝ์
์ด ๋๋ค. ๋ํ List ํํ๋ ๋ชจ๋ ์ค๋ณต๋ ๊ฐ ์ฝ์
์ ํ์ฉํ๋ค. 2. ์ฝ๋ ๋ฆฌ๋ทฐ import java.util.Collections; import java.util.LinkedList; public class _05_LinkedList { public static void main(String[] args) { //๋งํฌ๋ ๋ฆฌ์คํธ LinkedList list = new LinkedList(); /..
2023.02.08
Language/Java
[JAVA] ArrayList
1. ๋ฐฐ์ด vs ์ปฌ๋ ์
ํ๋ ์์ํฌ (1) ๋ฐฐ์ด ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ์ ํด์ ธ ์์. ๋ฐ๋ผ์ ๋ฐฐ์ด์ด ๊ฝ ์ฐผ๋๋ฐ, ๊ฐ์ ๋ ์ถ๊ฐํด์ผ ํ๋ ๊ฒฝ์ฐ, ๋๋ํ ํฌ๊ธฐ๋ก ๋ฐฐ์ด์ ์๋ก ๋ง๋ค์ด์ผํจ. ๊ฑฐ๊ธฐ๋ค๊ฐ ๊ธฐ์กด์ ๊ฐ๋ค ์ ์ฅ + ์๋ก์ด ๊ฐ๋ค ์ ์ฅ ์์ผ์ผํจ. ๋ฐฐ์ด์ ํน์ ์ธ๋ฑ์ค์ ์์ ๊ฐ์ ์ญ์ ํ๋ฉด, ๊ฑฐ๊ธฐ๊ฐ ๊ทธ๋ฅ ๋น์ด์๋ ์ฒด๋ก ์์. (ํฌ๊ธฐ๊ฐ ๋์ ์ผ๋ก ๋ณํํ์ง ์๊ธฐ ๋๋ฌธ) (2) ์ปฌ๋ ์
ํ๋ ์์ํฌ ์ ์ ์ธ ๋ฐฐ์ด์ ๊ฐ์ ์ ์ฅํ๋ ๊ฒ์ ๋ฐ์ดํฐ๋ค์ ๊ด๋ฆฌํ๋๋ฐ ๋ฒ๊ฑฐ๋ก์ด ์ ์ด ์์. ์ปฌ๋ ์
ํ๋ ์์ํฌ๋ ๋ง์ ์์ ๋ฐ์ดํฐ๋ค์ ๋ ์ฝ๊ณ , ํธ๋ฆฌํ๊ฒ, ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋๋ก JAVA์์ ์ ๊ณตํ๋ ํด๋์ค์ ๋ชจ์์ด๋ค. ์ปฌ๋ ์
ํ๋ ์์ ์๋ฐ์ ๋ฌ๋ฆฌ ํฌ๊ธฐ๊ฐ ๋์ ์ผ๋ก ๋ณํด์, ์ํ๋ ๋งํผ ๋ฐ์ดํฐ ์ถ๊ฐ, ์ญ์ ๊ฐ ๊ฐ๋ฅํ๋ค. ์ํ๋ ๊ฐ ํ์, ํน์ ๊ฐ ๋ณ๊ฒฝ,..
2023.02.07
Language/Java