[Java] HashMap ํŒŒํ—ค์ณ๋ณด๊ธฐ (ํ‚ค์˜ค์Šคํฌ ๊ณผ์ œ : ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๊ตฌํ˜„๊ธฐ)
ยท
Programming/Java
์ด๋ฒˆ ํ‚ค์˜ค์Šคํฌ ๊ณผ์ œ๋ฅผ ํ•˜๋ฉด์„œ๋Š” ์„ค๊ณ„๋ฅผ ํ•˜๋Š” ๋ฐ์— ๋งŽ์€ ๊ณ ๋ฏผ์„ ํ–ˆ๋‹ค.์–ด๋–ค ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊นŒ? ์ด ํด๋ž˜์Šค๊ฐ€ ์–ด๋–ค ์—ญํ• ๊นŒ์ง€๋ฅผ ๋งก๋Š” ๊ฒƒ์ด ๋งž์„๊นŒ?์–ด๋–ค ๋ฉ”์„œ๋“œ๋ฅผ ๋งŒ๋“ค๊นŒ? ์ด ๋ฉ”์„œ๋“œ๊ฐ€ ์–ด๋–ค ๊ธฐ๋Šฅ๊นŒ์ง€ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋งž์„๊นŒ?์™€ ๊ฐ™์ด ์—ญํ• ์„ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐ์—,ํŠนํžˆ ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉ ํ•˜๋Š” ๋ถ€๋ถ„๊ณผ ๋‚ด๋ถ€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์–ด๋–ค ํด๋ž˜์Šค์— ์–ด๋–ค ๋ฉ”์„œ๋“œ๋กœ ๋ถ„ํ• ํ•  ์ง€๋ฅผ ๋งŽ์ด ๊ณ ๋ฏผํ–ˆ๋‹ค.๋˜ ๋‚˜์˜ ์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ์ด๋กœ ํ•˜์—ฌ๊ธˆ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์งœ๋ ค๊ณ  ๋…ธ๋ ฅ์„ ํ–ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์‹œ์›ํ•˜๊ฒŒ ๋ชจ๋“  ๊ณ ๋ฏผ๋“ค์„ ํ•ด๊ฒฐํ–ˆ๋‹ค๊ณ  ๋งํ•  ์ˆœ ์—†์ง€๋งŒ(์• ์ดˆ์— ๊ฐ€๋Šฅํ•œ๊ฐ€?), ๊ณ ๋ฏผํ•˜๋ฉด์„œ ์ „์ฒด ์ฝ”๋“œ์— ๋Œ€๊ฑฐ ๋ณ€ํ™”๊ฐ€ ์ผ์–ด๋‚˜๊ธฐ๋„ ํ–ˆ๋‹ค. ์ผ๋‹จ ๊ตฌํ˜„์„ ํ•˜๋ฉด์„œ ๋งˆ์ฃผ์ณค๋˜ ๊ณ ๋ฏผ๋“ค๊ณผ ๊ณต๋ถ€ ๋‚ด์šฉ, ํ•ด๊ฒฐํ–ˆ๋˜ ๋ฐฉ๋ฒ•๋“ค์„ ์ •๋ฆฌํ•ด๋ณด์ž.๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ ...์šฐ์„  ํ•„์ˆ˜๊ธฐ๋Šฅ๊นŒ์ง€ ๊ตฌํ˜„ํ•œ ๊ธฐ์กด์˜ ํ”„๋กœ์ ํŠธ ๊ตฌ..
[Java] Stream ํ•จ์ˆ˜์—์„œ ์ธ๋ฑ์Šค ์‚ฌ์šฉํ•˜๊ธฐ (ํ‚ค์˜ค์Šคํฌ ๊ณผ์ œ)
ยท
Programming/Java
๐Ÿ’ฅ Stream ํ•จ์ˆ˜์—์„œ ์ธ๋ฑ์Šค ์‚ฌ์šฉ๋ฐœ๋‹จ : forEach() ์—์„œ ์ธ๋ฑ์Šค ์ •๋ณด๊ฐ€ ํ•„์š”ํ•ด!`๊ธฐ์กด์— ์ƒ์„ฑํ•œ Menu์˜ MenuItem์„ ์กฐํšŒ ํ•  ๋•Œ ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋„๋ก ์ˆ˜์ •`ํ•˜๋ผ๋Š” ์š”๊ตฌ์‚ฌํ•ญ์— ๋งž๊ฒŒ, `Menu` class์˜ `printMenuItems()` ๋ฉ”์„œ๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ ์ž ํ•˜์˜€๋‹ค.๊ธฐ์กด ์ฝ”๋“œ // List์— ๋“ค์–ด์žˆ๋Š” MenuItem์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ํ•จ์ˆ˜ public void printMenuItems() { for(int i=0; i์œ„ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ธ๋ฑ์Šค์™€ ํ•จ๊ป˜ ๋ฉ”๋‰ด ์•„์ดํ…œ์˜ ์ •๋ณด๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.1. ShackBurger | W 6.9 | ํ† ๋งˆํ† , ์–‘์ƒ์ถ”, ์‰‘์†Œ์Šค๊ฐ€ ํ† ํ•‘๋œ ์น˜์ฆˆ๋ฒ„๊ฑฐ2. SmokeShack | W 8.9 | ๋ฒ ์ด..
๊ณ„์‚ฐ๊ธฐ ๊ณผ์ œ : ๊ณ„์‚ฐ ๊ฒฐ๊ณผ Lambda&Stream ํ•„ํ„ฐ๋ง ์กฐํšŒ ๊ตฌํ˜„ํ•˜๊ธฐ
ยท
Programming/Java
Lv.3 ์˜ ๊ตฌํ˜„์‚ฌํ•ญ๊ณ„์‚ฐ๊ธฐ ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ calculate์˜ ํ”ผ์—ฐ์‚ฐ์ž๋กœ ๋ชจ๋“  ํƒ€์ž…์˜ ์ˆซ์ž๋ฅผ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. (int, double, ์–‘์ˆ˜, ์Œ์ˆ˜)enum ์œผ๋กœ ์—ฐ์‚ฐ์ž ํƒ€์ž…์„ ๊ด€๋ฆฌํ•˜๊ณ  ํ™œ์šฉํ•œ๋‹ค.๊ณ„์‚ฐ๊ธฐ์— ์ €์žฅ๋œ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ Lambda & Stream์„ ํ™œ์šฉํ•˜์—ฌ ์กฐ๊ฑด์— ๋งž๋„๋ก ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.์˜ค๋Š˜์€ ์–ด์ œ 1,2๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๋Œ€๊ฐ•๋งŒ ์งœ๋†จ๋˜ 3๋ฒˆ ์š”๊ตฌ์‚ฌํ•ญ์„ ์„ธ๋ถ€ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋‹ค.์–ด์ œ๋Š” ์•„๋ž˜ ์ฝ”๋“œ์™€ ๊ฐ™์ด ๋ฉ”์„œ๋“œ๋ฅผ ํ•˜๋‚˜๋งŒ ์ถ”๊ฐ€ํ•ด๋†จ์—ˆ๋‹ค. public void printResultGreaterThan(Number value) { String str = result.stream() .filter(v -> v > value.doubleValue()) ..
[Java] ์ถ”์ƒํด๋ž˜์Šค vs ์ธํ„ฐํŽ˜์ด์Šค, ์–ธ์ œ ์–ด๋–ค ๊ฒƒ์„ ์‚ฌ์šฉํ• ๊นŒ?
ยท
Programming/Java
์ถ”์ƒ ํด๋ž˜์Šค`class` ์•ž `abstract` ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ํฌํ•จํ•œ ํด๋ž˜์Šค๊ทธ๋Ÿฌ๋‚˜ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋”๋ผ๋„ abstract ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ์ถ”์ƒ ํด๋ž˜์Šค ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ( -> ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ๋ถˆ๊ฐ€ํ•˜๋„๋ก ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ)๊ธฐ์กด ํด๋ž˜์Šค์ฒ˜๋Ÿผ ๋ฉค๋ฒ„๋ณ€์ˆ˜์™€ ๋ฉ”์„œ๋“œ, ์ƒ์„ฑ์ž๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†์Œ์ถ”์ƒ ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š” ํด๋ž˜์Šค๋Š”๋ชจ๋“  ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•œ `ํด๋ž˜์Šค`๊ฐ€ ๋˜๊ฑฐ๋‚˜,๋ชจ๋“  ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ `์ถ”์ƒ ํด๋ž˜์Šค`๊ฐ€ ๋œ๋‹ค.์ธํ„ฐํŽ˜์ด์Šค์˜ค์ง `์ถ”์ƒ ๋ฉ”์„œ๋“œ`์™€ `์ƒ์ˆ˜`๋งŒ์„ ๋ฉค๋ฒ„๋กœ ๊ฐ€์ง„๋‹ค ( *default/static ๋ฉ”์„œ๋“œ ์˜ˆ์™ธ )๋ชจ๋“  ๋ฉ”์„œ๋“œ๋Š” `public abstract`๋ชจ๋“  ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋Š” `public static final`์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†์Œ..
๊ณ„์‚ฐ๊ธฐ ๊ณผ์ œ : Java Generics, Enum ํ™œ์šฉ๊ธฐ
ยท
Programming/Java
๊ตฌํ˜„ ์š”๊ตฌ์‚ฌํ•ญLv.3 ์˜ ๊ตฌํ˜„์‚ฌํ•ญ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.๊ณ„์‚ฐ๊ธฐ ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ `calculate`์˜ ํ”ผ์—ฐ์‚ฐ์ž๋กœ ๋ชจ๋“  ํƒ€์ž…์˜ ์ˆซ์ž๋ฅผ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. (int, double, ์–‘์ˆ˜, ์Œ์ˆ˜)enum ์œผ๋กœ ์—ฐ์‚ฐ์ž ํƒ€์ž…์„ ๊ด€๋ฆฌํ•˜๊ณ  ํ™œ์šฉํ•œ๋‹ค.๊ณ„์‚ฐ๊ธฐ์— ์ €์žฅ๋œ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ Lambda & Stream์„ ํ™œ์šฉํ•˜์—ฌ ์กฐ๊ฑด์— ๋งž๋„๋ก ์กฐํšŒํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.์˜ค๋Š˜์€ 1๊ณผ 2๋ฅผ ์ค‘์ ์ ์œผ๋กœ ๊ณ ๋ฏผํ•˜์—ฌ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.Generics : ํ”ผ์—ฐ์‚ฐ์ž ํƒ€์ž… ํ™•์žฅํ•˜๊ธฐ๋จผ์ € ๊ธฐ์กด Lv.2์˜ ๊ณ„์‚ฐ๊ธฐ ํด๋ž˜์Šค์ด๋‹ค.๊ธฐ์กด์˜ ํ”ผ์—ฐ์‚ฐ์ž ์ž…๋ ฅ์œผ๋กœ 0์„ ํฌํ•จํ•œ ์–‘์˜ ์ •์ˆ˜๋งŒ์„ ๋ฐ›์•„์™”๊ธฐ ๋•Œ๋ฌธ์— `calculate` ๋ฉ”์„œ๋“œ์˜ ํ”ผ์—ฐ์‚ฐ์ž ํƒ€์ž…์ด int๋กœ ์ง€์ •๋˜์–ด์žˆ๋‹ค.๊ฒฐ๊ณผ ๊ฐ’์€ double๋กœ ์ง€์ •๋˜์–ด์žˆ๋Š”๋ฐ, ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๋ชจ๋‘ ์ •์ˆ˜์—ฌ๋„ ๋‚˜๋ˆ„๊ธฐ ์—ฐ์‚ฐ ์‹œ ์‹ค์ˆ˜๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ธฐ ..
Java Enum ์ด๋†ˆ์•„
ยท
Programming/Java
์˜ค๋Š˜์€ Java Enum์— ๋Œ€ํ•ด์„œ ๋ณต์Šตํ•ด๋ณด์•˜๋‹ค.๋˜๊ฒŒ ์‹ ๊ธฐํ•œ๊ฒŒ ์ฑ…์— ๋ฐ‘์ค„์ด ์ข์ข ๊ทธ์–ด์ ธ ์žˆ๋Š”๋ฐ ๋งˆ์น˜ ์ƒˆ๋กœ ์•Œ๊ฒŒ ๋œ ์ •๋ณด์ฒ˜๋Ÿผ ๋А๊ปด์ง„๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.  ใ… ใ…  ๋–ต๋‡Œ ์ธ๊ฐ„ ๊ทธ๋ ‡์ง€๋งŒ ์ด๋ฒˆ์—” ์™„๋ฒฝํ•˜๊ฒŒ ๊ธฐ์–ตํ•  ๊ฒƒ๋งŒ ๊ฐ™์€ ๋А๋‚Œ์ธ๋ฐ์ฑ…์— ๊ธฐ์–ต์— ์—†๋Š” ๋ฐ‘์ค„์„ ๊ทธ์—ˆ๋˜ ์ˆœ๊ฐ„์—๋„ ์ด๋ ‡๊ฒŒ ๋А๊ผˆ์„์ง€๋„ ...๊ทธ๋Ÿด์ง€๋„ ...Enum์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž์—ด๊ฑฐํ˜•์—ด๊ฑฐํ˜• ๋ฐ์ดํ„ฐ๋ž€, ์„œ๋กœ ๊ด€๋ จ๋œ ์ƒ์ˆ˜๋“ค์„ ๋ฌถ์–ด์„œ ๊ด€๋ฆฌํ•˜๋Š” ํ‹€ ์—ญํ• ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด์„œ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ†  ์ผ์˜ ๋‚ด์šฉ์„ ์ƒ์ˆ˜๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•œ๋‹ค.// enum ์—ด๊ฑฐํ˜•์ด๋ฆ„ { ์ƒ์ˆ˜๋ช…1, ์ƒ์ˆ˜๋ช…2, ์ƒ์ˆ˜๋ช…3, ... }enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,..
Java์˜ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ์กฐ๊ธˆ ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž
ยท
Programming/Java
์˜ค๋Š˜์€ Java์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด ๋ณต์Šต์„ ํ•ด ๋ณด์•˜๋‹ค.์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•Java์—์„œ ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€, try-catch๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ, ์ฆ‰ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๊ณ  ์‹ถ์€ ๋ถ€๋ถ„์„ try ๋ธ”๋Ÿญ์œผ๋กœ ๊ฐ์‹ธ์ค€๋‹ค.๊ทธ๋ฆฌ๊ณ  catch ๋ธ”๋Ÿญ์„ ์ด์šฉํ•˜์—ฌ ๊ฐ Exception์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค.๋งŒ์ผ ์˜ˆ์™ธ ๋ฐœ์ƒ ์—ฌ๋ถ€์— ์ƒ๊ด€์—†์ด ๊ณตํ†ต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๊ณ  ์‹ถ์€ ์ž‘์—…์ด ์žˆ๋‹ค๋ฉด, finally ๋ธ”๋Ÿญ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ ์–ด์ค€๋‹ค.try { // ์—ฌ๊ธฐ์— ์“ฐ์ธ ์ฝ”๋“œ๋“ค์—์„œ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด // ํ•ด๋‹นํ•˜๋Š” catch๋ฌธ ๋ธ”๋Ÿญ์ด ์‹คํ–‰๋œ๋‹ค.} catch (ArithmeticException e) { // ArithmeticException์ด ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ} catch (IllegalArgument..
[Java] ์ž ๊น JVM ์ •๋ฆฌํ•˜๊ณ  ๊ฐ‘์‹œ๋‹ค
ยท
Programming/Java
์˜ค๋Š˜๋ถ€ํ„ฐ Java ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๊ณผ์ œ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.1~3์ฃผ์ฐจ ๊ฐ•์˜์˜ ๋‚ด์šฉ์€ ์•„์ฃผ ๊ธฐ๋ณธ์ ์ธ ๋‚ด์šฉ๋“ค์ด์—ˆ๋‹ค.๋ช‡๋ช‡์€ ๊ฑด๋„ˆ๋›ฐ๊ธฐ๋„ ํ•˜๊ณ , 1.5๋ฐฐ์†์œผ๋กœ ํ›‘์œผ๋ฉด์„œ ๊ฐ€๋ฌผ๊ฐ€๋ฌผํ•œ ๋ถ€๋ถ„๋“ค์€ ๋”ฐ๋กœ ๊ณต๋ถ€๋ฅผ ์ง„ํ–‰ํ•˜๋ ค๊ณ  ๋ฉ”๋ชจ๋ฅผ ํ•ด๋‘์—ˆ๋‹ค.๊ทธ๋ฆฌํ•˜์—ฌ ์ด์ œ ๋ฉ”๋ชจํ•œ ๋‚ด์šฉ๋“ค์„ ๊ณต๋ถ€ํ•  ์‹œ๊ฐ„ ... ๋จผ์ € JVM์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๊ณ  ๋„˜์–ด๊ฐ€์ž   JVM์ด๋ž€?JVM์€ Java Virtual Machine์˜ ์ค„์ž„๋ง๋กœ, Java๋กœ ์งœ์—ฌ์ง„ ์ฝ”๋“œ๋“ค์„ ์šด์˜์ฒด์ œ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ฐ€์ƒ์˜ ๊ธฐ๊ธฐ(์†Œํ”„ํŠธ์›จ์–ด)์ด๋‹ค.์ž๋ฐ”๋กœ ์ž‘์„ฑ๋œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ปดํ“จํ„ฐ์—์„œ ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ JVM์ด ํ•„์š”ํ•˜๋‹ค.์ผ๋ฐ˜์ ์ธ ๋‹ค๋ฅธ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฐ”๋กœ OS์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ ์ž๋ฐ” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ JVM๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ, JVM์ด OS์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.์ด ๋•Œ๋ฌธ์— ์–ดํ”Œ๋ฆฌ์ผ€..
[Java] ๋ฌธ์ž์—ด(String) ๋‚ด์žฅ ํ•จ์ˆ˜ ์ •๋ฆฌ
ยท
Programming/Java
length()๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.compareTo()int compareTo(String str)str๊ณผ ํ˜„์žฌ ์ธ์Šคํ„ด์Šค์˜ ๋ฌธ์ž์—ด์˜ ๋‚ด์šฉ์„ ์‚ฌ์ „์ˆœ์œผ๋กœ ๋น„๊ตํ•œ๋‹ค.ํ˜„์žฌ ์ธ์Šคํ„ด์Šค๊ฐ€ ์‚ฌ์ „์ˆœ์œผ๋กœ ๋” ์ด์ „์ด๋ฉด ์Œ์ˆ˜๋ฅผ, ์ดํ›„๋ฉด ์–‘์ˆ˜๋ฅผ, ๋‘ ๋ฌธ์ž์—ด์˜ ๋‚ด์šฉ์ด ๊ฐ™๋‹ค๋ฉด 0์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. String str1 = "apple"; String str2 = "banana"; System.out.println(str1.compareTo(str2)); // -1 ์ถœ๋ ฅchatAt()char chatAt(int index)์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋กœ ๊ฐ€์ง„ char[] value์—์„œ ํ•ด๋‹น index์˜ ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.concat()String concat(String str)(..
[Java] ์ŠคํŠธ๋ฆผ(Stream)
ยท
Programming/Java
Java์—์„œ์˜ ์ž…์ถœ๋ ฅ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅํ•œ ๋ฌธ์ž๋ฅผ ๋ฐ›์•„์™€ ๋ชจ๋‹ˆํ„ฐ์— ๋ณด์—ฌ์ฃผ๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?๋งŒ์•ฝ ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ๋ฌธ์„œ๋ฅผ ์ธ์‡„ํ•˜๊ธฐ ์œ„ํ•ด ์ธ์‡„ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค๋ฉด ์ด๋ฅผ ํ”„๋ฆฐํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ธ์‡„ํ• ๊นŒ? ์ด์ฒ˜๋Ÿผ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ํŠน์ • ์žฅ์น˜์— ๋ณด๋‚ด์ค˜์•ผ ํ•  ๋•Œ, ๋ฐ”๋กœ ์ŠคํŠธ๋ฆผ์„ ์ด์šฉํ•œ๋‹ค. ์œ„์˜ ๊ฒฝ์šฐ์—์„œ๋Š” ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅํ•œ ๋ฌธ์ž๋ฅผ ๋ฐ›์•„์˜ฌ ๋•Œ ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ์„, ํ•ด๋‹น ๋ฌธ์ž๋ฅผ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚ผ ๋•Œ ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ์„ ์ด์šฉํ•œ๋‹ค.๋˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ธ์‡„๋ฅผ ์š”์ฒญํ•œ ๊ฒฝ์šฐ์—๋Š” ์ธ์‡„๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ํ•ด๋‹น ๋ฌธ์„œ์˜ ๋‚ด์šฉ์„ ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ์„ ํ†ตํ•ด ๋ฐ›์•„์˜ค๋ฉฐ, ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ์„ ํ†ตํ•ด ํ”„๋ฆฐํ„ฐ๊ธฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค. ์ŠคํŠธ๋ฆผ์ด๋ž€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๋ ค๋Š” ๋‘ ๋Œ€์ƒ์„ ์—ฐ๊ฒฐํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š” ํ†ต๋กœ ์—ญํ• ์„ ํ•œ๋‹ค.Stream์˜ ํŠน์ง•..