user-img
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
thumbnail
[JAVA] ๋žŒ๋‹ค์‹๊ณผ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค
1. ๋žŒ๋‹ค์‹ (1) ์ •์˜ ์ต๋ช…ํ•จ์ˆ˜ (์ด๋ฆ„์ด ์—†๋Š” ํ•จ์ˆ˜) == ์ ‘๊ทผ์ œ์–ด์ž, ๋ฐ˜ํ™˜ํ˜•, ํ•จ์ˆ˜์ด๋ฆ„, ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ž๋ฃŒํ˜• ๋‹ค ํ•„์š” ์—†์Œ. ๋žŒ๋‹ค์‹๋„ ์ผ๊ธ‰ ๊ฐ์ฒด์ด๋‹ค. **์ผ๊ธ‰ ๊ฐ์ฒด๋ž€? ๋ฐ์ดํ„ฐ๋‚˜ ๋ณ€์ˆ˜๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด, ์–ด๋–ค ๋งค์†Œ๋“œ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด, ์–ด๋–ค ๋งค์†Œ๋“œ์˜ ๋ฐ˜ํ™˜ ๊ฐ’์ด ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด ์ด๋‹ค. (2) ํ˜•ํƒœ (์ „๋‹ฌ๊ฐ’ 1, ์ „๋‹ฌ๊ฐ’2, ...) -> { ์‹คํ–‰์ฝ”๋“œ } 2. ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค (1) ๋œป ์ถ”์ƒ ๋งค์†Œ๋“œ๊ฐ€ ์˜ค์ง ํ•˜๋‚˜ ๋ฟ์ธ ์ธํ„ฐํŽ˜์ด์Šค (2)๋žŒ๋‹ค์‹๊ณผ์˜ ๊ด€๊ณ„ ๋žŒ๋‹ค์‹์€ ์˜ค์ง ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค๋กœ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ. ** why? ์ธํ„ฐํŽ˜์ด์Šค์— ์ถ”์ƒ ๋งค์†Œ๋“œ๊ฐ€ ๋‘ ๊ฐœ์ด๋ฉด, ๋žŒ๋‹ค์‹๊ณผ ๋งค์นญ๋˜๋Š” ์ถ”์ƒ ๋งค์†Œ๋“œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ชจํ˜ธํ•ด์ง„๋‹ค. ๋”ฐ๋ผ์„œ ์ถ”์ƒ ๋งค์†Œ๋“œ๊ฐ€ ์˜ค์ง ํ•˜๋‚˜์ธ ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค๋งŒ์ด ๋žŒ๋‹ค์‹๊ณผ ๋งค์นญ์ด ๊ฐ€๋Šฅํ•˜์—ฌ ์“ธ ์ˆ˜..
2023.02.16
Language/Java
thumbnail
[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
thumbnail
[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
thumbnail
[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
thumbnail
[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