Search

util library

ํƒœ๊ทธ
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
์ž๋ฐ”
๋ฉ€ํ‹ฐ์บ ํผ์Šค
ํŒŒ์ผ

collection

Generic
ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•  ํƒ€์ž…์„ ์™ธ๋ถ€์—์„œ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
ํด๋ž˜์Šค๊ฐ€ ์ธ์Šคํ„ด์Šคํ™” ๋˜๋Š” ์‹œ์ ์— ํƒ€์ž…์ด ๊ฒฐ์ •๋œ๋‹ค.
ํด๋ž˜์Šค๋ช… ๋’ค์— <E> ์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ Generic ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
โ€ข
์–ด๋–ค ์•ŒํŒŒ๋ฒณ์ด๋“  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ฃผ๋กœ ์•„๋ž˜์˜ ์•ŒํŒŒ๋ฒณ์ด ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.
โ€ข
E : element, ๋ฐฐ์—ด ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ์—์„œ element ์˜ ํƒ€์ž…์„ ๊ฒฐ์ •ํ•˜๋Š” ์ œ๋„ˆ๋ฆญ์ผ ๋•Œ
โ€ข
T : Type
โ€ข
K : Map ์—์„œ key ์˜ ํƒ€์ž…์„ ์ œ๋„ˆ๋ฆญ์œผ๋กœ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉ
โ€ข
V : Map ์—์„œ value ์˜ ํƒ€์ž…์„ ์ œ๋„ˆ๋ฆญ์œผ๋กœ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉ
Set
set ์€ ์ง‘ํ•ฉ์—ฐ์‚ฐ์„ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.
์ €์žฅ๋˜๋Š” ๊ฐ’๋“ค์˜ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
๊ตฌํ˜„ ํด๋ž˜์Šค : HashSet, LinkedHashSet(์ˆœ์„œ๊ฐ€ ์œ ์ง€๋˜๋Š” Set)
โ€ข
HashMap ์€ Entry ๋ฅผ ์ €์žฅํ•  ๋•Œ hash ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ˆœ์„œ๋ณด์žฅ์ด ์•ˆ๋œ๋‹ค. (LinkedHashSet ์€ ๊ฐ€๋Šฅํ•˜๋‹ค.)
Hash ๊ด€๋ จ ํŽ˜์ด์ง€ hash
Map
key ์™€ value ์Œ(Entry) ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.
โ€ข
key : ๋ฐ์ดํ„ฐ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ
โ€ข
value : ์ €์žฅํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ. ์ค‘๋ณต์ €์žฅ ํ—ˆ์šฉํ•œ๋‹ค.
Lambda
ํ™”์‚ดํ‘œ ํ•จ์ˆ˜(์ต๋ช…ํ•จ์ˆ˜, ๋žŒ๋‹ค ํ‘œํ˜„์‹)
LambdaTest lt = new LambdaTest(); lt.testFunction((a, b) -> { System.out.println(a); System.out.println(b); return a+b; });
Java
๋ณต์‚ฌ
๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํ•˜๋‚˜ ๋ฐ–์— ์—†์„ ๊ฒฝ์šฐ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ด„ํ˜ธ๋ฅผ ์ƒ๋žตํ•œ๋‹ค.
์ฝ”๋“œ๋ธ”๋ก์— ์ฝ”๋“œ๊ฐ€ ํ•œ ์ค„์ธ ๊ฒฝ์šฐ ๋ฉ”์„œ๋“œ์˜ ์ฝ”๋“œ๋ธ”๋ก์„ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค.
ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์—์„œ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํƒ€์ž…์€ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค.
(Functional Interface ์— ์ด๋ฏธ ํƒ€์ž…์ด ์ง€์ •๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ)
lt.testConsumer(msg -> System.out.println(msg));
Java
๋ณต์‚ฌ
์ฝ”๋“œ๋ธ”๋ก์— return ๋ฌธ ๋ฐ–์— ์—†๋Š” ๊ฒฝ์šฐ ๋ฉ”์„œ๋“œ์˜ ์ฝ”๋“œ๋ธ”๋ก๊ณผ return ์˜ˆ์•ฝ์–ด๋ฅผ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค.
lt.testSupplier(() -> " => ๊ณต๊ธ‰๋ฐ›์€ ๋ฌธ์ž์—ด");
Java
๋ณต์‚ฌ
Stream
๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์—ฐ์‚ฐ์„ ์ œ๊ณตํ•œ๋‹ค.
intermediate operation, ๊ฐ€๊ณต, ์ค‘๊ฐ„์—ฐ์‚ฐ : stream ๋‚ด๋ถ€์—์„œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
terminal operation, ๊ฒฐ๊ณผ : ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ›๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
foreach
๋ฉ”์„œ๋“œ ์ฐธ์กฐ
:: ์„ ์‚ฌ์šฉํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ถ•์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.
lambda ์˜ ๊ตฌํ˜„ ์ฝ”๋“œ๊ฐ€ ํŠน์ • ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ ๋  ๋•Œ
a -> System.out.println(a) System.out::print
Java
๋ณต์‚ฌ
filter
์กฐ๊ฑด์— ๋งž๋Š” ์š”์†Œ๋งŒ ํ•„ํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.
Properties
XMLํŒŒ์ผ ์ž…์ถœ๋ ฅ์„ ์ง€์›ํ•˜๋ฉด์„œ Key์™€ Value๊ฐ€ String์œผ๋กœ ๊ณ ์ •๋œ Map
โ€ข
XML(Extensible Markup Language)
โ—ฆ
ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋งˆํฌ์—… ์–ธ์–ด
โ–ช
Markup Language
โ€ข
๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๋””์ž์ธ๋œ ์–ธ์–ด.
โ€ข
๋ฏธ๋ฆฌ ์•ฝ์†๋œ tag๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์‹๋ณ„
โ—ฆ
XML์€ ํ™•์žฅ๊ฐ€๋Šฅํ•œ ๋งˆํฌ์—… ์–ธ์–ด์ด๊ธฐ ๋•Œ๋ฌธ์—, ์–ธ์–ด์ฐจ์›์—์„œ ๋ฏธ๋ฆฌ ์ •์˜๋œ tag๋Š” ์—†๊ณ , ์‚ฌ์šฉ์ž๋ผ๋ฆฌ ์•ฝ์†์„ ํ•˜๋ฉด ๋จ
tag
โ€ข
ex) <a id="t">https://www.naver.com</a>, <a id="p">https://www.daum.net</a>
โ€ข
<a></a> : ํƒœ๊ทธ
โ—ฆ
<a> : ์—ฌ๋Š” ํƒœ๊ทธ, </a> : ๋‹ซ๋Š” ํƒœ๊ทธ
โ—ฆ
https://www.naver.com : ํƒœ๊ทธ ์‚ฌ์ด์— ์žˆ๋Š” ์ •๋ณด๊ฐ€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋œ๋‹ค.
โ—ฆ
id="t" : ํƒœ๊ทธ์˜ ์†์„ฑ
โ—ฆ
<a id="t">https://www.naver.com</a> : ๊ตฌ์ฒด์ ์ธ ์†์„ฑ๊ณผ, ๊ฐ’์„ ๊ฐ€์ง„ element