SMALL

๋ชฉ๋กjava (8)

You are a developer, not a coder.

Collection์˜ ์ข…๋ฅ˜์™€ ์ดํ•ด

1. JAVA Collection Framework JAVA์—์„œ ๊ธฐ๋ณธ์ ์ธ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ JAVA Collection Framework์˜ ์ƒ์† ๊ธฐ๋ณธ ๊ตฌ์กฐ 2. ๊ฐ ์ธํ„ฐํŽ˜์ด์Šค์˜ ํŠน์ง• ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ํด๋ž˜์Šค ํŠน์ง• List LinkedList Stack Vector ArrayList ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ, ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•จ Set HashSet TreeSet ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ, ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ Map HashMap TreeMap HashTable Properties ํ‚ค(key)์™€ ๊ฐ’(value)์˜ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ ์ˆœ์„œ๋Š” ์œ ์ง€๋˜์ง€ ์•Š๊ณ , ํ‚ค๋Š” ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ ๊ฐ’์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•จ 3. Collection ์ธํ„ฐํŽ˜์ด์Šค๋“ค์˜ ํŠน์ง• Collec..

Backend-Languages/Java 2023. 5. 18. 13:39
subList ์•Œ๋งž๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

๋Œ€๊ทœ๋ชจํ”„๋กœ์„ธ์Šค ๊ฐœ๋ฐœ์‹œ, ์„œ๋ฒ„๊ฐœ๋ฐœ์ž๋“ค์ด ์•„๋งˆ ๋งŽ์ด ๋งŒ์ง€๋Š” ์ฝ”๋“œ์ค‘์— ํ•œ๊ฐœ๋Š” ๋ฆฌ์ŠคํŠธํ˜•์‹์„ ํฌ๊ธฐ๋Œ€๋กœ ์ž๋ฅด๊ธฐ์œ„ํ•ด subList๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์€ subList๋ฅผ ์ž˜ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋˜ํ•œ, ์Šคํƒ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์‹ถ์–ด์„œ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. // 0~2๊นŒ์ง€์˜ ์ธ๋ฑ์Šค๋งŒ ๋ฝ‘์•„์˜ค๊ธฐ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์“ธ๊ฒƒ์ด๋‹ค. cateContTuple.setCateContBbsTupleList(items.subList(0, 3)); ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์€ ์œ„์™€๊ฐ™์ด subList๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค. ์ด๋Š” ์Šคํƒ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋ฐ ๋ถ€๋ชจ๋ฆฌ์ŠคํŠธ์ธ items์— ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์ด ์žˆ์„๋•Œ ์ต์…‰์…˜์ด ์ผ์–ด๋‚  ์ˆ˜์žˆ๋Š” ์œ„ํ—˜ํ•œ ์ฝ”๋“œ์ด๋‹ค. ์™œ ์Šคํƒ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๊ฐ€ ๋‚˜๋Š”์ง€, ์–ด๋– ํ•œ ์ต์…‰์…˜์ด ์ผ์–ด๋‚˜๋Š”์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. /* *..

Backend-Languages/Java 2021. 2. 24. 15:10
COLLECTIONS.EMPTY_LIST

์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์ €์ง€๋ฅด๋Š” ์˜ค๋ฅ˜๋ฅผ ์œ ๋ฐœํ•˜๋Š” ํ–‰์œ„์ค‘ ์ฒซ๋ฒˆ์งธ๋Š” null์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ์Šต๊ด€์ด๋‹ค. ํ•œ์ค„ ๊ฑด๋„ˆ ํ•˜๋‚˜์”ฉ null์„ ํ™•์ธํ•˜๋Š” ์ฝ”๋“œ๋กœ ๊ฐ€๋“ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ง€๊ธˆ๊นŒ์ง€ ์ˆ˜๋„ ์—†์ด ๋ดค๋‹ค. ๋ˆ„๊ตฌ ํ•˜๋‚˜๋ผ๋„ null ํ™•์ธ์„ ๋นผ๋จน๋Š”๋‹ค๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ†ต์ œ ๋ถˆ๋Šฅ์— ๋น ์งˆ์ง€๋„ ๋ชจ๋ฅธ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ, ์ด ํ–‰์œ„๋Š” ๋‚˜์œ์ฝ”๋“œ์— ์†ํ•œ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด Collections.emptyList() ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, ๋นˆ๊ฐ’์œผ๋กœ ์ „๋‹ฌํ•ด ์ค„ ์ˆ˜๊ฐ€ ์žˆ๋‹ค. public List findAllUsers(){ List userList = userService.findAll(); if(userList == null){ return Collections.emptyList(); } return userList; } List์— ๊ฐ’์ด ๋น„์–ด์žˆ์œผ๋ฉด, ๋นˆ๊ฐ’์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ „๋‹ฌํ•ด..

Backend-Languages/Java 2020. 12. 15. 11:37
Heap์— ๋Œ€ํ•ด์„œ

1. Heap์˜ ๊ธฐ๋ณธ๊ฐœ๋… ์ฐธ์กฐํ˜•์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๊ฐ–๋Š” ์ธ์Šคํ„ด์Šค, ๋ฐฐ์—ด, Object๋ฅผ ์ƒ์†ํ•˜๋Š” String ๋“ฑ์ด ์ €์žฅ๋˜๋Š” ์˜์—ญ์ด๋‹ค. ์ด๋•Œ ์ง€์—ญ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” Stack ์˜์—ญ์˜ ๊ณต๊ฐ„์—์„œ ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ Heap ์˜์—ญ์˜ ์ฐธ์กฐ๊ฐ’์„ new์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ๋ฆฌํ„ด ๋ฐ›๋Š”๋‹ค. ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” Heap์˜์—ญ์˜ ์ฐธ์กฐ ๊ฐ’์„ Stack ์˜์—ญ์˜ ๊ฐ์ฒด๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ, ๋ฆฌํ„ด ๋ฐ›์€ ์ฐธ์กฐ๊ฐ’์„ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด์„œ๋งŒ ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๋ฅผ ํ•ธ๋“ค๋ง ํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค. Heap์˜์—ญ์€ ์‚ฌ์šฉ์ž์— ์˜ํ•ด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๋™์ ์œผ๋กœ ํ• ๋‹น๋˜๊ณ  ํ•ด์ œ๊ฐ€ ๋œ๋‹ค.

Development Basic 2020. 5. 28. 16:40
UUID (Universally Unique IDentifier)๋ž€?

1. UUID๋ž€ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๊ณ ์œ ์„ฑ์ด ๋ณด์žฅ๋˜๋Š” id๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ ๊ทœ์•ฝ์ด๋‹ค. UUID๋Š” Universally Unique IDentifier์˜ ์•ฝ์–ด์ด๊ณ  ๋ฒ”์šฉ ๊ณ ์œ  ์‹๋ณ„์ž๋ผ๊ณ  ํ•œ๋‹ค. ์ฃผ๋กœ ๋ถ„์‚ฐ ์ปดํ“จํŒ… ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์‹๋ณ„์ž์ด๋‹ค. ์ค‘์•™๊ด€๋ฆฌ์‹œ์Šคํ…œ์ด ์žˆ๋Š” ํ™˜๊ฒฝ์ด๋ผ๋ฉด ๊ฐ ์„ธ์…˜์— ์ผ๋ จ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•ด์คŒ์œผ๋กœ์จ ์œ ์ผ์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ์ค‘์•™์—์„œ ๊ด€๋ฆฌ๋˜์ง€ ์•Š๋Š” ๋ถ„์‚ฐ ํ™˜๊ฒฝ์ด๋ผ๋ฉด ๊ฐœ๋ณ„ ์‹œ์Šคํ…œ์ด id๋ฅผ ๋ฐœ๊ธ‰ํ•˜๋”๋ผ๋„ ์œ ์ผ์„ฑ์ด ๋ณด์žฅ๋˜์–ด์•ผ๋งŒ ํ•  ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ํƒ„์ƒํ•œ ๊ฒƒ์ด ๋ฒ”์šฉ๊ณ ์œ ์‹๋ณ„์ž UUID์ด๋‹ค. RFC 4122์— ๋ช…์‹œ๋˜์–ด ์žˆ๋‹ค. UUID๋Š” 128๋น„ํŠธ์˜ ์ˆซ์ž์ด๋ฉฐ, 32์ž๋ฆฌ์˜ 16์ง„์ˆ˜๋กœ ํ‘œํ˜„๋œ๋‹ค. 8์ž๋ฆฌ-4์ž๋ฆฌ-4์ž๋ฆฌ-4์ž๋ฆฌ-12์ž๋ฆฌ ํŒจํ„ด์œผ๋กœ ํ•˜์ดํ”ˆ์„ ์ง‘์–ด ๋„ฃ์–ด 5๊ฐœ์˜ ๊ทธ๋ฃน์œผ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค. ์ด๋ฆ„ ๊ธธ์ด (๋ฐ”์ดํŠธ) ๊ธธ์ด..

Backend-Languages/Java 2020. 4. 29. 10:19
LIST