user-img
Language/Java 63
thumbnail
[JAVA] ArrayList<Integer>์—์„œ ์›ํ•˜๋Š” ์ˆซ์ž Value ์ง€์šฐ๊ธฐ
0. ๋“ค์–ด๊ฐ€๋ฉฐ...ํ•ด๋‹น ๊ธ€์€ ArrayList์—์„œ ์›ํ•˜๋Š” ์ˆซ์ž๋ฅผ ์ง€์šฐ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ธ€์ด๋‹ค. ArrayList.remove() ํ•จ์ˆ˜๋กœ ์ง€์šฐ๋ฉด ๋˜์ง€ ์•Š๊ฒ ๋ƒ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ .remove(int i)๋ฅผ ๋„ฃ์œผ๋ฉด, remove์˜ ์˜ค๋ฒ„๋กœ๋”ฉ๋œ ํ•จ์ˆ˜ ์ค‘ ArrayList.remove(int index)๊ฐ€ ํ˜ธ์ถœ๋˜์–ด, i๋ฅผ index๋กœ ๊ฐ€์ง€๋Š” Value๋ฅผ ArrayList์—์„œ ์‚ญ์ œํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์›๋ž˜ ์˜๋„ํ•œ 'i๋ผ๋Š” Value ์ง€์šฐ๊ธฐ'๋Š” ์‹คํŒจํ•œ๋‹ค.1. ArrayList.remove(int index)์œ„์—์„œ ์„ค๋ช…ํ–ˆ๋“ฏ์ด remove์— ์›์‹œ ์ž๋ฃŒํ˜• int๋ฅผ ๋„ฃ์œผ๋ฉด ํ•ด๋‹น ์ธ์ˆ˜๋ฅผ index๋กœ ๊ฐ€์ง€๋Š” Value๋ฅผ ArrayList์—์„œ ์‚ญ์ œํ•œ๋‹ค.2. ArrayList.remove(Object o)์šฐ๋ฆฌ๊ฐ€ ์‹ค์ œ i๋ผ๋Š” Value๋ฅผ ์‚ญ..
2025.01.25
Language/Java
thumbnail
[JAVA] Long๋ณด๋‹ค ํฐ ์ˆ˜๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฒ•
0. ๋“ค์–ด๊ฐ€๋ฉฐ๊ฐœ๋ฐœ์„ ํ•˜๊ฑฐ๋‚˜, ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ ์ •์ˆ˜๋ก  ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ๋งŒ๋‚˜๋ฉด ํ•œ ๋ฒˆ์”ฉ ์ฃผ์–ด์ง€๋Š” ์ž…๋ ฅ์˜ ํฌ๊ธฐ๊ฐ€ Longํ˜•์„ ์ดˆ์›”ํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๊ฐ€ ๊ฐ„ํ˜น ์žˆ๋‹ค. ๋จผ์ € ์ฝ”ํ…Œ์—์„œ ์ž์ฃผ ์“ฐ์ด๋Š” ์ž๋ฃŒํ˜•์ธ int์™€ Longํ˜•์˜ ์ตœ๋Œ€, ์ตœ์†Œ๊ฐ’์„ ์•Œ์•„๋ณด์ž.์ •์ˆ˜ํ˜• ํƒ€์ž…๋ฐ์ดํ„ฐ ํ‘œํ˜„ ๋ฒ”์œ„int-2,147,483,648 ~ 2,147,483,647 ($10^{10}$)long-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 ($10^{18}$)long์ด ์ •๋ง ๋งŽ์€ ์ˆ˜์˜ ๋ฒ”์œ„๋ฅผ ์ปค๋ฒ„ํ•  ์ˆ˜ ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ฐฑ์ค€์˜ ๊ฑฐ์˜ ์†Œ์ˆ˜๊ฐ™์€ ๋ฌธ์ œ๋Š” ์ด๋Ÿฌํ•œ ์ž๋ฃŒํ˜•์„ ๋›ฐ์–ด๋„˜๋Š”๋‹ค. ์ด๋•Œ์˜ ๋Œ€์ฒ˜๋ฒ• 2๊ฐ€์ง€๋ฅผ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.1. ์‹ค์ˆ˜ ์ž๋ฃŒํ˜•์ธ Double ์‚ฌ์šฉ Double์€ 64bit ๋ถ€๋™ ์†Œ์ˆ˜์ ์œผ๋กœ ํ‘œํ˜„๋œ ์ž๋ฃŒํ˜•์œผ๋กœ..
2025.01.24
Language/Java
thumbnail
[JAVA] For ๋ฌธ ์ž‘๋™ ์ˆœ์„œ
0. ์ •๋ฆฌํ•˜๋Š” ์ด์œ ์ฝ”ํ…Œ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ ์ˆœ์„œ๊ฐ€ ํ—ท๊ฐˆ๋ ธ๋‹ค. ๊ทธ๋ž˜์„œ ์ •๋ฆฌํ•ด๋†”์•ผ ๊ฒ ๋‹ค1. For ๋ฌธ ์ž‘๋™ ์ˆœ์„œ1๏ธโƒฃ: ์ง€์—ญ ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™” (ํ•ด๋‹น ๋ถ€๋ถ„์ด For๋ฌธ ๋ฐ–์— ์žˆ์–ด๋„ ๋œ๋‹ค. ๋‹ค๋งŒ ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด, for ๋ฌธ์ด ๋๋‚œ ๋’ค์—๋„ i ๊ฐ’์ด ์œ ์ง€๋œ๋‹ค.)2๏ธโƒฃ: ์ค‘์•™์˜ ์กฐ๊ฑด ์ฒดํฌ (์—ฌ๊ธฐ์„œ ๊ฑธ๋ฆฌ๋ฉด for๋ฌธ ๋‚ด์šฉ๋ฌผ์— ๋“ค์–ด๊ฐ€์ง€ ์•Š๊ณ  ๋ฐ”๋กœ for ๋ฌธ์ด ๋๋‚œ๋‹ค.)3๏ธโƒฃ: ๋‚ด์šฉ๋ฌผ ์ฒ˜๋ฆฌ4๏ธโƒฃ: i ํฌ๊ธฐ ์˜ฌ๋ฆฌ๊ธฐ5๏ธโƒฃ: ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋” ์กฐ๊ฑด ์ฒดํฌ
2025.01.24
Language/Java
thumbnail
[JAVA] ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ค‘ ์‹ค์ˆ˜ํ•˜๊ธฐ ์‰ฌ์šด StringBuilder์˜ ์ƒ์„ฑ์ž
0. ๋ฌด์—‡์„ ์ •๋ฆฌํ•˜๋‚˜์š”ํ•„์ž๋Š” ๋ฌธ์ž์—ด์„ ๋’ค์ง‘๋Š” ๊ธฐ์ˆ ์ด ํ•„์š”ํ•  ๋•Œ, StringBuilderํด๋ž˜์Šค์˜ reverse()๋ฅผ ์ž์ฃผ ํ™œ์šฉํ•œ๋‹ค. ๊ทผ๋ฐ, ํŽ ๋ฆฐ๋“œ๋กฌ ์ˆ˜๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฌธ์ œ๋ฅผ ํ‘ธ๋‹ˆ ํ‹€๋ฆฌ๋Š” ๊ฒƒ ์•„๋‹Œ๊ฐ€! StringBuilder straight = new StringBuilder(num);StringBuilder reverse = new StringBuilder(num).reverse();์ฝ˜์†”์— ์ฐ์–ด๋ณด๋‹ˆ ๋‘ ๊ฐ์ฒด ๋ชจ๋‘์— ์–ด๋– ํ•œ ์ž…๋ ฅ๊ฐ’๋„ ๋“ค์–ด๊ฐ€์ง€ ์•Š์•˜๋‹ค! ์ฝ”ํ…Œ์—์„œ ์ด๋Ÿฌํ•œ ์—๋Ÿฌ๋ฅผ ๊ฒช์—ˆ์œผ๋ฉด ์ ์ž–์ด ๋‹นํ™ฉํ–ˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ์˜ค๋Š˜์€ ํ•„์ž์™€ ๊ฐ™์ด ๋‹นํ™ฉํ•  ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด, StringBuilder์˜ ์ƒ์„ฑ์ž์— int i๋ฅผ ๋„ฃ๋Š” ๊ฒƒ๊ณผ String str์„ ๋„ฃ๋Š” ๊ฒƒ์˜ ์ฐจ์ด๋ฅผ ์•Œ์•„๋ณด๋ ค ํ•œ๋‹ค.1. ne..
2025.01.24
Language/Java
thumbnail
[Java] HashMap์—์„œ Custom Class๋ฅผ Key๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•, ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
0. ์•Œ์•„๋ณผ ๊ฒƒ1. Hash Map ์ด๋ž€? ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐKEY๋ฅผ ํ™œ์šฉํ•ด HashMap์— VALUE์„ (์ €์žฅ, ์‚ญ์ œ, ์กฐํšŒ) ํ•˜๋Š”๋ฐ ํ‰๊ท  O(1)์˜ ์‹œ๊ฐ„์ด ๋“ ๋‹ค. ์Œ์„ ENTRY๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.KEY ๊ฐ’์€ ์ค‘๋ณต๋  ์ˆ˜ ์—†๊ณ , VALUE ๊ฐ’์€ KEY ๊ฐ’์ด ๋‹ค๋ฅด๋‹ค๋ฉด ์ค‘๋ณต์ €์žฅ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.2. HashMap ๋‚ด๋ถ€ ๊ตฌ์กฐHashMap์€ ํฌ๊ฒŒ HASH ํ•จ์ˆ˜์™€ Hash Bucket์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.Hash Bucket์€ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ์žฅ์†Œ๋กœ Array๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค.Hash ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ ๊ฐ’ ๋งˆ๋‹ค์˜ Hash ๊ฐ’์„ ๋ฐ˜ํ™˜ ํ•˜๋Š”๋ฐ, ํ•ด๋‹น Hash ๊ฐ’์€ Hash Bucket์˜ Index์ด๋‹ค. ๋”ฐ๋ผ์„œ Hash ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ ๊ฐ’์ด ์ €์žฅ๋  ์œ„์น˜๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋„ค๋น„๊ฒŒ์ดํ„ฐ ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋˜๊ฒ ๋‹ค.์ด์ œ ์‹ค์ œ ์ž…๋ ฅ๊ฐ’..
2024.12.31
Language/Java
thumbnail
[Java] JSON ์ง๋ ฌํ™”์˜ ๋ชจ๋“ ๊ฒƒ
1. JSON ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ’ก(1) ์ •์˜JSON์ด๋ž€ JavaScript Object Notation์˜ ์•ฝ์ž๋กœ Javascript ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ๋˜์–ด์žˆ๋Š” ๋ฐ์ดํ„ฐ ๊ตํ™˜ ์–‘์‹์ด๋‹ค.JS ๊ฐ์ฒด์˜ ํ˜•ํƒœ : javascript ๊ฐ์ฒด๋Š” (key: value) ํ˜•ํƒœ์˜ ๊ฐ’๋“ค์ด ๋‚˜์—ด๋œ ๊ตฌ์กฐ์ด๋‹ค. java์—์„œ HashMap๊ณผ ์œ ์‚ฌํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. js์—์„œ๋Š” ๋”ฐ๋กœ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ํƒ€์ž… ์„ ์–ธ์ด ํ•„์š” ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์ฒด ๋ฌธ๋ฒ•์ด ๋น„๊ต์  ๊ฐ„ํŽธํ•˜๋‹ค.(2) ํŠน์ง•a. ์–ธ์–ด ๋…๋ฆฝ์ ์ธ ์–‘์‹์ด๋‹ค.๋ถ„๋ช… JS ๊ฐ์ฒด ํ˜•ํƒœ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์–‘์‹์ด์ง€๋งŒ, javascript ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋Œ€๋‹ค์ˆ˜์˜ ์–ธ์–ด, ๊ทธ ์–ธ์–ด ๊ธฐ๋ฐ˜ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.b. ์ƒํƒœ๋ฅผ ๊ตํ™˜ํ•œ๋‹ค.JSON์„ ํ†ตํ•ด ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋ž€ ํŠน์ • ๊ฐ์ฒด ํ˜น์€ ๊ฐ’๋“ค์˜ ์ƒํƒœ์ด๋‹ค. ๊ธฐ๋Šฅ์„ ์˜๋ฏธํ•˜..
2024.11.05
Language/Java
thumbnail
JAVA์—์„œ์˜ ๊ฐ์ฒด ์ง๋ ฌํ™” ๋น„๊ต (Byte Stream ์ง๋ ฌํ™” vs JSON ์ง๋ ฌํ™”)
0. ์•Œ์•„๋ณผ ๋‚ด์šฉJava์˜ ๊ฐ์ฒด ์ง๋ ฌํ™”์—๋Š” ๋‘ ๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค.์ฒซ ๋ฒˆ์งธ๋กœ, Serializable ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ Byte Stream ์ง๋ ฌํ™”ํ•˜๋Š” ๊ฒƒ ์ด๋‹ค.๋‘ ๋ฒˆ์งธ๋กœ, RESTful API Sever๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ, ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์œ„ํ•ด ๊ฐ์ฒด๋ฅผ JSON ์ง๋ ฌํ™”ํ•˜๋Š” ๊ฒƒ ์ด๋‹ค.๋‘ ๊ฐ€์ง€์˜ ์ฐจ์ด์ ์€ ์–ด๋ ดํ’‹์ด ์•Œ์ง€๋งŒ, ์ œ๋Œ€๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ธฐ์–ตํ•˜์ง€ ์•Š์•˜๋”๋‹ˆ, ๋‘ ๋ฐฉ๋ฒ•์˜ ๊ตฌํ˜„ ๋ฐฉ์‹๊ณผ ํ™œ์šฉ๋ฒ•์ด ์„œ๋กœ ๋’ค์ฃฝ๋ฐ•์ฃฝ ์„ž์—ฌ ์žˆ์—ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ ํ˜•ํƒœ์˜ ์ง๋ ฌํ™”์— ๋Œ€ํ•ด ์ •ํ™•ํžˆ ์•Œ์•„๋ณด๊ณ , ๊ทธ ์ฐจ์ด์ ์„ ๊ตฌ๋ถ„ํ•˜๋ ค ํ•œ๋‹ค.์—ฌ๊ธฐ์„œ๋Š” ๋จผ์ € ๋‘ ์ง๋ ฌํ™”์˜ ์˜๋ฏธ๋งŒ ๊ฐ„๋žตํžˆ ์•Œ์•„๋ณด๊ณ  ์ฐจ์ด์  ์„ค๋ช…์— ๋” ์ง‘์ค‘ํ•˜๊ฒ ๋‹ค.๋งŒ์•ฝ ๋” ์ž์„ธํžˆ ์•Œ๊ณ  ์‹ถ์€ ๋ถ„์€ ๊ฐ ํ•ญ๋ชฉ ๋ณ„ ๋” ์•Œ์•„๋ณด๊ธฐ๋งํฌ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•˜๊ธฐ ๋ฐ”๋ž€๋‹ค.๋‹ค์Œ๊ณผ ๊ฐ™์€ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ ..
2024.11.04
Language/Java
thumbnail
java TreeMap์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž!
(1) ์ •์˜Red-black Tree๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ Key ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ๋˜๋Š” Map์ด๋‹ค.์ •๋ ฌ ๊ธฐ์ค€์€ default๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์ด๊ณ , ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ Comparator๋ฅผ ๋„ฃ์œผ๋ฉด, ๊ฐœ๋ฐœ์ž ์ž…๋ง›์— ๋”ฐ๋ผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. TreeMap map = new TreeMap((o1,o2) -> (return o1.score - o2.score)); Red-black Tree ๋ž€? ์ด์ง„ํƒ์ƒ‰์„ ๋ณด์™„ํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•œ Tree ์ž๋ฃŒ ๊ตฌ์กฐ์ด๋‹ค. ์ด์ง„ํƒ์ƒ‰์€ ์ผ๋ฐ˜์ ์œผ๋กœ O(logN)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง€์ง€๋งŒ, ๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ์ชฝ์œผ๋กœ ์น˜์šฐ์ณ์„œ, ์ผ์žํ˜• Tree๊ฐ€ ๋‚˜์˜ฌ ๊ฒฝ์šฐ(ex- ๊ณ„์† ์ž‘์€ ๊ฐ’์˜ ๋ฐ์ดํ„ฐ๋งŒ ์ž…๋ ฅ ๋“ฑ) O(n)์ด๋ผ๋Š” ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๋“ ๋‹ค. ์ด์— ๋น„ํ•ด Red-black Tree๋Š” ๋ถ€๋ชจ๋…ธ๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํฐ ๊ฐ’์€ ์˜ค๋ฅธ์ชฝ, ์ž‘์€..
2024.07.18
Language/Java
Enum์— ๋Œ€ํ•˜์—ฌ
Enum์€ ์—ด๊ฑฐํ˜•์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. (์˜์–ด๋กœ๋Š” enumerated type์ด๋ผ ํ•˜๊ณ  ์ด๊ฒƒ์˜ ์ค„์ž„๋ง์ด๋‹ค.) Enum์€ ‘์š”์†Œ’ ํ˜น์€ ‘๋ฉค๋ฒ„’ ๋ผ ๋ถˆ๋ฆฌ๋Š” ๋ช…๋ช…๋œ ๊ฐ’์˜ ์ง‘ํ•ฉ์„ ์ด๋ฃจ๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค. ์—ฌ๊ธฐ์„œ ‘๋ช…๋ช…๋˜๋‹ค.’๋ž€ ์–ด๋–ค ๋ฌผ๊ฑด์ด๋‚˜ ์ผ์— ์ด๋ฆ„์ด ์ง€์–ด์ ธ ๋ถ™์—ฌ์ง€๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. Enum์˜ ๋ฉค๋ฒ„๊ฐ€ ๋˜๋Š” ๋…€์„๋“ค์€ ์ฃผ๋กœ ์–ด๋–ค ๋ฌผ๊ฑด์ด๋‚˜ ์ผ์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ์ƒ์ˆ˜ ์—ญํ• ์„ ํ•œ๋‹ค.
2024.01.16
Language/Java
๋ชฐ๋ž๋˜ ๊ฒƒ
1. Intger ์ปฌ๋ž™์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ int ๋ฐฐ์—ด๋กœ ๋ฐ”๊พธ๊ธฐ. int [] arr = map.keySet().stream().mapToInt(x->x).toArray(); maptoInt(x->x): ์ปฌ๋ž™์…˜ ํ”„๋ ˆ์ž„ ์›Œํฌ์—๋Š” ๊ฐ’๋“ค์„ Wrapper Class์ธ Integer๋กœ ๋‹ค ์ €์žฅ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฐฐ์—ด์— ์ €์žฅํ• ๋ ค๋ฉด type์ด ์›์‹œํƒ€์ž…(int, double,...) ์—ฌ์•ผ ํ•œ๋‹ค ํ•ด๋‹น maptoInt๋Š” ์ปฌ๋ž™์…˜ ํ”„๋ ˆ์ž„ ์›Œํฌ๊ฐ’์„ IntStream์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. (IntStream ์›์‹œ ํƒ€์ž… int์— ๋Œ€ํ•œ Stream ์ด๋‹ค.) toArray(): ์ปฌ๋ž™์…˜์„ ๋ฐฐ์—ด๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ํ•จ์ˆ˜. (์›์‹œ ํƒ€์ž…์œผ๋กœ ๋ฐ”๊ฟ€ ๊ฑฐ๋ฉด, ์ธ์ˆ˜๋„ ์›์‹œ ํƒ€์ž…์ด์–ด์•ผ ํ•œ๋‹ค.) 2. String ArrayList๋ฅผ String ๋ฐฐ์—ด๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ• String..
2023.05.21
Language/Java
Runnable
runnable๋„ Thread์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ณ‘๋ ฌ ์ˆ˜ํ–‰์„ ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค. ๋‘˜์˜ ์ฐจ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. Thread๋Š” ํด๋ž˜์Šค์ด๊ณ  runnable์€ ์ธํ„ฐํŽ˜์ด์Šค๋ž€ ๊ฒƒ์ด๋‹ค. ๋‹จ์ผ ์ƒ์† ์›์น™์— ๋”ฐ๋ผ Thread๋ฅผ ์ƒ์†ํ•œ ์ž์‹ ํด๋ž˜์Šค๋Š” ๋‹ค๋ฅธ ๋ถ€๋ชจ ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜์ง€ ๋ชปํ•˜์ง€๋งŒ, runnable๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค๋Š” ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์„ ์“ฐ๋ฉด์„œ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์žฅ์ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค. 1. ์ฝ”๋“œ ๋ฆฌ๋ทฐ import Chap_12.clean.CleanRunnable; public class _02_Runnable { public static void main(String[] args) { // ์“ฐ๋ ˆ๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• 2๊ฐ€์ง€ // 1. Thread ๋ผ๋Š” ํด๋ž˜์Šค ์ƒ์†ํ•ด์„œ ๋งŒ๋“ค๊ธฐ // 2, Runnable ์ด๋ผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ํ•ด์„œ ๋งŒ..
2023.03.11
Language/Java
thumbnail
Thread
1. ์šฉ์–ด์ •๋ฆฌ (1) ํ”„๋กœ๊ทธ๋žจ์ด๋ž€? ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ธฐ๊ณ„. (๊ฐ€๋™ ์•ˆํ•˜๋Š” ์ƒํƒœ, ์ฃฝ์€ ์ƒํƒœ) (2) ํ”„๋กœ์„ธ์„œ๋ž€? ์ž‘๋™ํ•˜๋Š” ์ƒํƒœ์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์ผ์ปซ๋Š” ๋ง (๊ฐ€๋™ ์ค‘์ธ ์ƒํƒœ, ์‚ด์•„์žˆ๋Š” ์ƒํƒœ) (3) ์“ฐ๋ ˆ๋“œ๋ž€? ํ”„๋กœ์„ธ์„œ๋ฅผ ์ž‘๋™์‹œํ‚ค๊ณ  ์žˆ๋Š” ๋…€์„์œผ๋กœ, ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰์ค‘ (๊ธฐ๊ณ„๋ฅผ ๋Œ๋ฆฌ๊ณ  ์žˆ๋Š” ์ธ๋ถ€) (4) ํ”„๋กœ์„ธ์Šค๋ž€? ํ”„๋กœ๊ทธ๋žจ์ด ๋“ค์–ด์™€ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณต๊ฐ„. ๋ณดํ†ต ์„ค์ • ์•ˆํ•˜๋ฉด, ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค์— ํ•˜๋‚˜์˜ ์“ฐ๋ ˆ๋“œ๋งŒ ์กด์žฌํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์“ฐ๋ ˆ๋“œ๋ฅผ ๋Œ๋ ค์„œ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. (ํ•˜์ง€๋งŒ ์ด๊ฒŒ ์ง„์งœ๋กœ ์ผ์ด ๋™์‹œ์— ์ง„ํ–‰๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋‘ ๊ฐ€์ง€ ์ผ์ด ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๊ณ  ์žˆ์ง€๋งŒ, ๊ทธ ๋‘˜์ด ์Šค์œ„์นญ ํ•˜๋Š” ๊ฒŒ ๋‚˜๋…ธ๋ฏธํ„ฐ ์ดˆ๋กœ ์ด๋ฃจ์–ด์ ธ์„œ, ์‚ฌ๋žŒ๋“ค ๋ˆˆ์—๋Š” ๊ทธ๊ฒŒ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ..
2023.03.09
Language/Java
Throws (์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฏธ๋ฃจ๊ธฐ)
Throws ํ•ด๋‹น ๋งค์†Œ๋“œ์—์„œ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋Š” ์˜ˆ์™ธ๋ฅผ ์ž์ฒด์ ์œผ๋กœ ํ•ด๊ฒฐ ์•ˆํ•˜๊ณ , ๋‚˜ ๋ชฐ๋ผ๋ผ ํ•˜๊ณ  ๋ฐ–์œผ๋กœ ๋˜์ง€๋Š” ๋ช…๋ น์–ด ๋งค์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ ์ชฝ์—์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•œ๋‹ค. ์ฑ…์ž„์ „๊ฐ€ํ•˜๋Š” ๋ช…๋ น์–ด ๋งค์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ ์ชฝ์—์„œ ๋˜ throws ์“ฐ๋ฉด, ๊ทธ๋ƒฅ ํ”„๋กœ๊ทธ๋žจ ํผ์ ธ๋„ ์ฑ…์ž„ ์•ˆ ์ง€๊ฒ ๋‹ค๋Š” ์†Œ๋ฆฌ์ž„. import java.io.FileWriter; import java.io.IOException; public class _07_Throws { public static void main(String[] args) { // ํ˜ธ์ถœํ•œ ๋ฉ”์ธ ๋งค์†Œ๋“œ์—์„œ ํ•ด๊ฒฐํ•˜๊ฑฐ๋‚˜, ์—ฌ๊ธฐ์„œ๋„ throws๋กœ ๋‚˜๋ชฐ๋ผ๋ผ ํ•˜๊ฑฐ๋‚˜ // ๋ฉ”์ธ ๋ฉ”์†Œ๋“œ์—์„œ๋„ throws๋กœ ๋˜์ง€๋ฉด ๊ทธ๋ƒฅ ๋ฌธ์ œ ์ƒ๊ธฐ๋Š” ๊ฑฐ ๊ฐ์•ˆํ•˜๊ณ  ๋Œ๋ฆฌ๊ฒ ๋‹จ ์†Œ๋ฆฌ์ž„. try { writeFile(); } catc..
2023.03.02
Language/Java
์‚ฌ์šฉ์ž ์ •์˜ ์˜ˆ์™ธ
์˜ˆ์™ธ๋ฅผ ํ•ญ์ƒ throw new Exception(" ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ํ•˜๊ณ  ์‹ถ์€ ๋ง"); ๋กœ ํ•œ๋‹ค๋ฉด, ๋งˆ์ง€๋ง‰ catch ๊ตฌ๋ฌธ์—์„œ ํ•  ์ผ์ด ๋„ˆ๋ฌด ๋งŽ๋‹ค. Exception์ด๋ž€ ํŠน์ •์ ์ด์ง€ ์•Š๊ณ  ๋ชจ๋“  ๊ฑธ ํฌ๊ด„ํ•˜๋Š” ์˜ˆ์™ธ์— ๋˜์กŒ๊ธฐ ๋•Œ๋ฌธ์—, ()์•ˆ์˜ ๋ง์ด ์•„๋‹ˆ๋ฉด ๋ฌด์Šจ ์ด์œ  ๋•œ์— ์˜ˆ์™ธ๊ฐ€ ์ผ์–ด๋‚ฌ๋Š”์ง€ ์•Œ๊ธฐ๋„ ์‰ฝ์ง€ ์•Š๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๊ฐ€ ์ง์ ‘ ํŠน์ • ์ˆœ๊ฐ„์—๋งŒ ์ž‘๋™ํ•˜๋Š” ์˜ˆ์™ธ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ ์˜ˆ์™ธ ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•˜์—ฌ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ํ• ๋ ค๊ณ  ํ•œ๋‹ค. public class _06_CustomException { public static void main(String[] args) { // ์‚ฌ์šฉ์ž ์ •์˜ ์˜ˆ์™ธ int age = 17; try { if(age < 19){ // System.out.println("๋งŒ 19์„ธ ๋ฏธ๋งŒ์—๊ฒŒ๋Š” ํŒ๋งคํ•˜์ง€ ์•Š์Šต..
2023.03.02
Language/Java
Try with Resources
1. ์„ค๋ช… AutoClosable์ด๋ž€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ try๊ตฌ๋ฌธ ()์•ˆ์—์„œ ์ƒ์„ฑ ํ–ˆ์„ ๋•Œ๋ฅผ ๊ฐ€์ •ํ•œ๋‹ค. ํ•ด๋‹น ๊ฐ์ฒด๊ฐ€ try catch ๊ตฌ๋ฌธ์„ ๋‹ค ์ง€๋‚˜๊ฐ”์œผ๋ฉด, try ๊ตฌ๋ฌธ์ด ์ž๋™์œผ๋กœ close ๋งค์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ close์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ํ•œ๋‹ค. ํ•ด๋‹น ์Šคํ‚ฌ์€ ํด๋ž˜์Šค๊ฐ€ AutoClosable์ด๋ผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ ํ•ด์•ผ๋งŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค. 2. ์ฝ”๋“œ ๋ฆฌ๋ทฐ import java.io.BufferedWriter; public class _05_TryWithResources { public static void main(String[] args) { // close ๊ตฌ๋ฌธ๋„ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•ด์„œ // try-catch-finally ๊ตฌ๋ฌธ ์†์— ๋˜ try catch ๊ตฌ๋ฌธ์ด ๋“ค์–ด๊ฐ„ ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. MyF..
2023.02.28
Language/Java
Finally ๊ตฌ๋ฌธ
1. ์„ค๋ช… ์˜ˆ์™ธ ๊ตฌ๋ฌธ์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑด ๋ง๊ฑด ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํ›„ ๋ฌด์กฐ๊ฑด ์‹คํ–‰ํ•ด์•ผํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ ์–ด ๋†“๋Š” ๊ตฌ๋ฌธ 2. ์ฝ”๋“œ๋ฆฌ๋ทฐ public class _04_Finally { public static void main(String[] args) { try{ System.out.println("ํƒ์‹œ์˜ ๋ฌธ์„ ์—ฐ๋‹ค."); throw new Exception("ํœด๋ฌด ํƒ์‹œ"); // System.out.println("ํƒ์‹œ์— ํƒ‘์Šนํ•œ๋‹ค."); // ์˜ˆ์™ธ๋ฅผ ๋˜์ง€๋Š” ๋ฌธ์žฅ ์ฃผ์„ ์ฒ˜๋ฆฌ ํ•˜๊ณ  ํƒ์‹œ๋ฅผ ํƒ‘์Šนํ•œ๋‹ค๋Š” ์ •์ƒ ์ถœ๋ ฅ๋ฌธ์ด ๋‚˜์™€๋„ finally ๊ตฌ๋ฌธ ์‹คํ–‰ } catch (Exception e) { System.out.println("!! ๋ฌธ์ œ ๋ฐœ์ƒ: " + e.getMessage()); } finally { System.out.pri..
2023.02.28
Language/Java
thumbnail
Throw
1. ์ •์˜ ์ผ๋ถ€๋Ÿฌ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ ์‹œํ‚ค๋Š” Keyword (1)ํ˜•ํƒœ // ๋‚ด๊ฐ€ Catch ์ชฝ์œผ๋กœ ๋˜์งˆ ์ƒˆ๋กœ์šด ์˜ˆ์™ธ ๊ฐ์ฒด ์ƒ์„ฑ throw new Exception("๋ฌด์Šจ ์—๋Ÿฌ์ธ์ง€ ์„ค๋ช…"); // throw์—์„œ ๋˜์ง„ ์˜ˆ์™ธ ๊ฐ์ฒด๋Š” Catch์—์„œ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค. 2. ์ฝ”๋“œ ๋ฆฌ๋ทฐ public static void main(String[] args) { //๋‚˜์ด๊ฐ€ 19์„ธ ๋ฏธ๋งŒ์ผ ๊ฒฝ์šฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ. int age = 17; try { if(age < 19){ throw new Exception("๋งŒ 19์„ธ ๋ฏธ๋งŒ์—๊ฒŒ๋Š” ํŒ๋งคํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค."); } else { System.out.println("์ฃผ๋ฌธํ•˜์‹  ์ƒํ’ˆ ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค."); } }catch (Exception e){ //์˜ค๋ฅ˜๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ณด์—ฌ์ฃผ๋Š” ์˜ˆ์™ธ ๊ฐ์ฒด ๋งค์†Œ๋“œ e.p..
2023.02.24
Language/Java
์˜ค๋ฅ˜์— ๋”ฐ๋ฅธ ๋งž์ถค ์˜ˆ์™ธ ์ฒ˜๋ฆฌ
1. ๊ฐœ๋ณ„ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• Exception ํด๋ž˜์Šค๋Š” ๋ชจ๋“  ์˜ˆ์™ธ๋“ค์˜ ์กฐ์ƒ ํด๋ž˜์Šค ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๋ชจ๋“  ์˜ˆ์™ธ๋ฅผ ๋‹คํ˜•์„ฑ์˜ ์›๋ฆฌ์— ์˜ํ•ด ๋‹ค ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ์ด๋‹ค. catch์˜ () ์•ˆ์— ์˜ˆ์™ธ๋ณ„๋กœ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋ฉด, ํ•ด๋‹น ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒ ํ–ˆ์„ ์‹œ์—๋งŒ ๋ฐœ๋™ํ•˜๋Š” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๊ตฌ๋ฌธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. // ๋ฐฐ์—ด ์ธ๋ฑ์Šค๋ฅผ ๋ฒ—์–ด๋‚œ ๊ณณ์— ๋Œ€ํ•œ ์†Œ์Šค ์‹คํ–‰์„ ํ•  ๊ฒฝ์šฐ์˜ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฌธ, // ์ž˜๋ชป๋œ ํ˜•๋ณ€ํ™˜์ด ์ผ์–ด๋‚ฌ์„ ๊ฒฝ์šฐ์˜ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฌธ์„ ๋”ฐ๋กœ ๋‘์—ˆ๋‹ค. // ๋งจ ๋งˆ์ง€๋ง‰์€ ๋‚˜๋จธ์ง€ ์˜ˆ์™ธ๋“ค์— ๋Œ€ํ•œ ์ผ๊ด„ ์ฒ˜๋ฆฌ์ด๋‹ค. catch (ArrayIndexOutOfBoundsException e){ System.out.println("์ธ๋ฑ์Šค๋ฅผ ์ž˜๋ชป ์„ค์ •ํ–ˆ์–ด์š”."); } catch (ClassCastException e) { System.out.println(..
2023.02.23
Language/Java
thumbnail
Run-Time(๋Ÿฐํƒ€์ž„) ์˜ค๋ฅ˜์™€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ
1. ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๋ž€? (1)๋Ÿฐํƒ€์ž„์˜ค๋ฅ˜์™€ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜ ๋น„๊ต ์ข…๋ฅ˜ ์ปดํŒŒ์ผ ์—๋Ÿฌ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ ๋œป ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ๋ฐ”๊ฟ€ ๋•Œ (์ปดํŒŒ์ผ ์‹œ) ์ผ์–ด๋‚˜๋Š” ์—๋Ÿฌ. ๋Œ€๊ฒŒ ๋ฌธ๋ฒ•์  ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์ผ์–ด๋‚œ๋‹ค. ์ฝ”๋“œ ์‹คํ–‰ ๋„์ค‘์— ์ผ์–ด๋‚˜๋Š” ์—๋Ÿฌ ์ฝ”๋“œ๊ฐ€ ๋ฌธ๋ฒ•์ ์œผ๋กœ ๋ง์€ ๋˜์ง€๋งŒ, ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ง์ด ์•ˆ๋  ๋•Œ ์ผ์–ด๋‚œ๋‹ค. Run ํ–ˆ์„ ์‹œ ์• ์ดˆ์— ๋ฌธ๋ฒ•์ ์œผ๋กœ ํ‹€๋ ค์„œ Run ์กฐ์ฐจ ์•ˆ๋œ๋‹ค. ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜ ์žˆ์„ ์‹œ ํ”„๋กœ๊ทธ๋žจ์€ ์ฝ”๋“œ๋ฅผ ๋๊นŒ์ง€ ์‹คํ–‰ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์ข…๋ฃŒ๋œ๋‹ค. (๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ์ง€์ ์—์„œ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋œ๋‹ค.) ์˜ˆ์‹œ int i = "๋ฌธ์ž์—ด"; (์• ์ดˆ์— ๋ง์ด ์•ˆ๋˜๋Š” ๊ตฌ์กฐ) int[] arr = new int[3]; arr[5] = 100; ํ•ด๋‹น ๋ฐฐ์—ด์€ ๊ธธ์ด๊ฐ€ 3์ด๋ฏ€๋กœ, 5์— ๊ฐ’์„ ์ง‘์–ด ๋„ฃ์„ ์ˆ˜ ์—†๊ธฐ์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ฝ”๋“œ ํ•œ ์ค„ ํ•œ ์ค„์€ ๋ฌธ๋ฒ•..
2023.02.23
Language/Java
[JAVA] Stream ์‹ค์Šต
1. ์ฝ”๋“œ๋ฆฌ๋ทฐ // "python", "java", "javascript","c","c++","c#" // C๋กœ ์‹œ์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ถ”์ถœ /*.startsWith()๋Š” String ํด๋ž˜์Šค์˜ ๋งค์†Œ๋“œ๋กœ์„œ ()์•ˆ์˜ ๊ฐ’์ด ๋ฌธ์ž์—ด์— ์žˆ๋Š”์ง€๋ฅผ boolean์œผ๋กœ ๋ฐ˜ํ™˜ .filter()๋Š” ()์•ˆ์˜ ์กฐ๊ฑด์— ๋งž๋Š” ์š”์†Œ๋งŒ ๊ณจ๋ผ์„œ ๋งŒ๋“  ์ƒˆ ์ŠคํŠธ๋ฆผ์„ ๋ฐ˜ํ™˜ */ Arrays.stream(langs).filter(x-> x.startsWith("c")).forEach(System.out::println); System.out.println("-----------------------------------------"); // java ๋ผ๋Š” ๊ธ€์ž๋ฅผ ํฌํ•จํ•˜๋Š” ์–ธ์–ด Arrays.stream(langs).filter(x-> x.co..
2023.02.19
Language/Java
[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