Banner

My Tech Blog (Coding/Java)

์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐฐ์—ด ์ •๋ ฌํ• ๋•Œ ์“ฐ๋Š” ๋ฉ”์„œ๋“œ `Arrays.sort()` ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ๋‹ค. ํ•˜์ง€๋งŒ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ `Arrays.sort()`์— `Comparator` ๊ฐ์ฒด๋ฅผ ์ธ์ž๋กœ ๋ฐ›์•„์„œ ๋งž์ถคํ˜• ์ •๋ ฌ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.  ๊ธฐ๋ณธ `Arrays.sort()`์‚ฌ์šฉimport java.util.Arrays;public class Main { public static void main(String[] args) { Integer[] arr = {5, 2, 9, 1, 3}; // ๊ธฐ๋ณธ ์ •๋ ฌ (์˜ค๋ฆ„์ฐจ์ˆœ) Arrays.sort(arr); System.out.println(Arrays.toString(arr));..
์ „๋ถ€ํ„ฐ ํฌ์ŠคํŒ… ํ•ด์•ผ ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ๋ฏธ๋ฃจ๋‹ค๊ฐ€ ํ•˜๋Š” ํฌ์ŠคํŒ… ์ž๋ฃŒ์กฐ์‚ฌ ํ•˜๋ ค๋ฉด ๋„ˆ๋ฌด ์˜ค๋ž˜๊ฑธ๋ ค์„œ ๋‹ค์Œ์— ํ•˜๋ ค๋‹ค๊ฐ€ ์ง€๊ธˆ ์งฌ๋‚ด์„œ ํ›„๋”ฑ ํ•ด ๋ฒ„๋ฆฌ์ž  1. Map๊ณผ Set Map๊ณผ Set์€ ์ž๋ฐ”์—์„œ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ(Collection Framework)์— ์†ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ๋‘˜ ๋‹ค java.utilํŒจํ‚ค์ง€์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์€ ์•„๋‹ˆ๊ณ  ๊ฐ์ฒด๋กœ ๋‹ค๋ฃจ์–ด์ง€๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ธ๋ฐ, Map์€ key-value ํ˜•ํƒœ๋กœ ๋น ๋ฅธ ๊ฒ€์ƒ‰์ด ํ•„์š”ํ•œ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์œ ์šฉํ•˜๊ณ , Set์€ ์ค‘๋ณต ์—†๋Š” ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์ด ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.   2. Map ์ด๋ž€? ์‚ฌ๋žŒ์„ ‘์ด๋ฆ„ = ์ตœ๋‹ค์ธ’, 'ํ‚ค = 165' ๋“ฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋“ฏ์ด ๋งต(Map) ์€ ๋Œ€์‘ ๊ด€๊ณ„๋ฅผ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค. ๋งต์˜ ๊ตฌํ˜„์ฒด ์ค‘์— ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ๊ฑด ..
1. JDBC๋ž€?Java DataBase Connector๋กœ ์ž๋ฐ”์™€ ์˜ค๋ผํด๊ฐ™์€ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ์—ฐ๋™ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. JDBC ๋ง๊ณ ๋„ ์ž๋ฐ”์—์„œ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ db์— ์—ฐ๊ฒฐ์„ ํ•  ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค~ ใ…Žใ…Žใ…Ž Spring JPA๋‚˜ MyBatis ๋“ฑ์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์จ์„œ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹์ด ๊ฐ€์žฅ ์ž˜ ์•Œ๋ ค์ ธ ์žˆ์ฃ . ์‚ฌ์‹ค JDBC๋Š” ์˜ค๋ž˜๋œ ๋ฐฉ์‹ ์ค‘์— ํ•˜๋‚˜์ด๊ณ , ์š”์ฆ˜์— ๋งŽ์ด ์“ฐ์ด์ง€๋Š” ์•Š์ง€๋งŒ, ๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ดํด๋ฆฝ์Šค์—์„œ db์—ฐ๋™์„ ์‹ค์Šตํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž ๋ถ„๋“ค์€ ์•Œ์•„๋‘์‹œ๋ฉด ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ํ•ญ์ƒ ๊ฐ•์กฐํ•˜๋Š” ๊ฒƒ์€ '์‹ ๊ธฐ์ˆ ์ด๋‚˜ ํŠธ๋ Œ๋“œ๋ฅผ ์•Œ๋ฉด ์ข‹์ง€๋งŒ, ์ƒˆ๋กœ๋‚˜์˜จ ๊ธฐ์ˆ ์ด ์˜›๋‚  ๊ธฐ์ˆ ๋ณด๋‹ค ํ•ญ์ƒ ๋” ์ข‹์€ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค' ๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ƒˆ๋กœ ๋‚˜์˜จ ๊ฒƒ๋“ค๋ณด๋‹ค ๊ธฐ์กด์— ์žˆ๋˜ ๋ฐฉ์‹์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ์ •๋ง ํ›จ์”ฌ ๋งŽ๊ณ , ..
์‹ค๋ฌด์—์„œ Map์€ ์–ด๋””์— ์“ฐ์ผ๊นŒ?์šฐ๋ฆฌ๊ฐ€ ์•„๋Š” ์ž๋ฐ”์˜ ๋งต(Map)์€ ํ‚ค-๊ฐ’ ์Œ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.์‚ฌ๋žŒ์„ ‘์ด๋ฆ„ = ํ™๊ธธ๋™’, ‘์ƒ์ผ = ๋ช‡ ์›” ๋ฉฐ์น ’ ๋“ฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋“ฏ์ด๋งต(Map) ์€ ๋Œ€์‘ ๊ด€๊ณ„๋ฅผ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค. ๋งต์€ ๋‹ค๋ฅธ ์–ธ์–ด์—๋„ ์žˆ๋Š” ์ž๋ฃŒํ˜•์œผ๋กœ, associative array ๋˜๋Š” hash๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค. ๋งต์€ ๋ฆฌ์ŠคํŠธ๋‚˜ ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์ˆœ์ฐจ์ ์œผ๋กœ(sequential) ์š”์†Ÿ๊ฐ’์„ ๊ตฌํ•˜์ง€ ์•Š๊ณ , ํ‚ค(key)๋ฅผ ์ด์šฉํ•ด ๊ฐ’(value)์„ ์–ป๋Š”๋‹ค. ์šฐ๋ฆฌ๊ฐ€ baseball์ด๋ž€ ๋‹จ์–ด์˜ ๋œป์„ ์ฐพ์„ ๋•Œ ์‚ฌ์ „์˜ 1์ชฝ๋ถ€ํ„ฐ ๋ชจ๋‘ ์ฝ์ง€ ์•Š๊ณ  baseball์ด๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ์žˆ๋Š” ๊ณณ์„ ์ฐพ์•„ ํ™•์ธํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ Map์„ ํ™œ์šฉํ•˜๋ฉด ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ์—์„œ๊ฒ€์ƒ‰ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ์ค‘๋ณต๊ฐ’ ๊ด€๋ฆฌ๊ฐ€ ์‰ฝ๋‹ค. ๋งต ์ž๋ฃŒํ˜•์—๋Š”..
์ž๋ฐ”์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ณผ์ •https://happykoo.net/@happykoo/posts/242 ํ•ดํ”ผ์ฟ  ๋ธ”๋กœ๊ทธ - [Java] ์ž๋ฐ”์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ณผ์ •์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž๋ˆ„๊ตฌ๋‚˜ ์†์‰ฝ๊ฒŒ ์šด์˜ํ•˜๋Š” ๋ธ”๋กœ๊ทธ!www.happykoo.net ์ž๋ฐ”๊ฐ€์ƒ๋จธ์‹ (JVM), JIT ์ปดํŒŒ์ผ๋Ÿฌhttps://velog.io/@fastdodge7/Java-์ž๋ฐ”์˜-๋ฉ”๋ชจ๋ฆฌ-๊ตฌ์กฐ [Java] ์ž๋ฐ”์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐJava Virtual Machine(JVM) ์ž๋ฐ”์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์ „์—, ์šฐ์„  JVM์— ๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์ž๋ฐ”์˜ ๊ฐ€์žฅ ํฐ ํŠน์ง• ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐ”๋กœ ํ”Œ๋žซํผ์— ๋…๋ฆฝ์ ์ด๋ผ๋Š” ๊ฒƒ์ธ๋ฐ, ์ด๊ฒƒ์€ ์ž๋ฐ”๋กœ ์ž‘velog.io ์ž๋ฐ” ๋ฉ”๋ชจ๋ฆฌhttps://velog.io/@kay9508/JAVA-๋ฉ”๋ชจ๋ฆฌ-Stack-Heap JAVA..
1. ์ œ๋„ค๋ฆญ์Šค(Generics) ์ œ๋„ค๋ฆญ์Šค๋ž€?์ œ๋„ค๋ฆญ์Šค(generics)๋Š” ์ž๋ฐ” J2SE 5.0 ๋ฒ„์ „ ์ดํ›„์— ๋„์ž…๋œ ๊ฐœ๋…์œผ๋กœ, ์ž๋ฃŒํ˜•์„ ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ์ œ๋„ค๋ฆญ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž๋ฃŒํ˜•์„ ๊ฐ•์ œ๋กœ ๋ฐ”๊ฟ€ ๋•Œ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ์บ์ŠคํŒ…(Casting) ์˜ค๋ฅ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. ArrayList๋Š” ์ž๋ฐ”์˜ **์ œ๋„ค๋ฆญ์Šค(Generics)**๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค์ด๋‹ค. ์ œ๋„ค๋ฆญ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ArrayList์— ์ €์žฅํ•  ์š”์†Œ์˜ ํƒ€์ž…์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ณ , ๋•๋ถ„์— ํ˜• ๋ณ€ํ™˜ ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. (ํƒ€์ž… ์•ˆ์ •์„ฑ ๋ณด์žฅ) ArrayList๋Š” ArrayList ํ˜•ํƒœ๋กœ ์ •์˜ํ•˜๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ E๋Š” ์ €์žฅํ•  ์š”์†Œ์˜ ํƒ€์ž…์„ ๋‚˜ํƒ€๋‚ด๋Š” ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜์ด๋‹ค. ArrayList,ArrayList์ฒ˜๋Ÿผ ์ œ๋„ค๋ฆญ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ •..
1. ์ž๋ฐ”์˜ ์ž๋ฃŒํ˜• String Buffer๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ์— ์•ž์„œ ์ž๋ฐ”์˜ ์ž๋ฃŒํ˜•์—๋Š” ๊ธฐ๋ณธํ˜•(Primitive Type)๊ณผ ์ฐธ์กฐํ˜•(Reference Type)์ด ์žˆ๋‹ค. ๊ธฐ๋ณธํ˜•์€ ๊ฐ’ ์ž์ฒด๋ฅผ ์ €์žฅํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ •์ˆ˜ํ˜•, ์‹ค์ˆ˜ํ˜•, ๋ฌธ์žํ˜•(char), ๋…ผ๋ฆฌํ˜•์ด ๊ธฐ๋ณธํ˜•์— ์†ํ•œ๋‹ค. ๋ฐ˜๋ฉด, ์ฐธ์กฐํ˜• ์ฃผ์†Œ๊ฐ’์„ ๋‹ด๊ณ  ์žˆ์œผ๋ฉฐ, ์‹ค์ œ๋กœ๋Š” ์ฃผ์†Œ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ํ˜•ํƒœ์ด๋‹ค.  ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž๋ฐ”์˜ 8๊ฐ€์ง€ ๊ธฐ๋ณธํ˜•(Primitive Type)์ด ์•„๋‹Œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ์ฐธ์กฐํ˜•์— ์†ํ•œ๋‹ค. ๋ฆฌ์ŠคํŠธ๋‚˜ ๋งต, ์ง‘ํ•ฉ์ฒ˜๋Ÿผ ์šฐ๋ฆฌ๊ฐ€ ์•„๋Š” ์ž๋ฐ” ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ์ž๋ฃŒํ˜•๋“ค์ด ์ฐธ์กฐํ˜•์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”ํžˆ ๋ฌธ์ž์—ด์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” String๋„ ์ฐธ์กฐํ˜•์— ์†ํ•œ๋‹ค. ์ฐธ์กฐํ˜•(Reference Type)- ํด๋ž˜์Šค (Class): ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ ๊ฐ..
์—ฌ๋Ÿฌ๋ถ„๋“ค ์ž…๋ ฅ๋„๊ตฌ Scanner ๋งŽ์ด ์“ฐ์‹œ์ฃ ? ๊ทธ๋Ÿฐ๋ฐ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ ํ’€๋‹ค ๋ณด๋ฉด Scanner๋ณด๋‹ค BufferedReader / BufferedWriter์„ ๋” ๋งŽ์ด ์“ฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ค ์ ์ด ๋” ์ข‹์„๊นŒ์š”?    ๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ž…๋ ฅ์€, ํ‚ค๋ณด๋“œ์˜ ์ž…๋ ฅ์ด ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋Š” ์ฆ‰์‹œ ๋ฐ”๋กœ ํ”„๋กœ๊ทธ๋žจ์— ์ „๋‹ฌ๋ฐ˜๋ฉด ๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ž…๋ ฅ์€, ํ‚ค๋ณด๋“œ์˜ ์ž…๋ ฅ์ด ์žˆ์„ ๋•Œ๋งˆ๋‹ค ํ•œ ๋ฌธ์ž์”ฉ ๋ฒ„ํผ๋กœ ์ „์†กํ•œ๋‹ค. ๋ฒ„ํผ๊ฐ€ ๊ฐ€๋“ ์ฐจ๊ฑฐ๋‚˜ ๊ฐœํ–‰ ๋ฌธ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ๋ฒ„ํผ์˜ ๋‚ด์šฉ์„ ํ•œ ๋ฒˆ์— ํ”„๋กœ๊ทธ๋žจ์— ์ „๋‹ฌ์ฆ‰, ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ๋ชจ์•„์„œ ์ „๋‹ฌ Scanner๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ† ํฐ ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋„์–ด์“ฐ๊ธฐ์™€ ๊ฐœํ–‰๋ฌธ์ž๋ฅผ ๊ฒฝ๊ณ„๋กœ ํ•˜์—ฌ ์ž…๋ ฅ ๊ฐ’์„ ์ธ์‹๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ ๊ฐ€๊ณตํ•  ํ•„์š”๊ฐ€ ์—†์–ด ํŽธ๋ฆฌํ•˜๋‹ค.BufferedReader์€ ์ž…๋ ฅ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๊ฐ€ St..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'Coding/Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก
์ƒ๋‹จ์œผ๋กœ