HashMap

Map ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ key - value๋ฅผ ์Œ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฉ”์„œ๋“œ ๊ตฌํ˜„ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ key๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ๊ทธ key๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ’์„ ๊บผ๋‚ด์˜ค๋Š” ๋ฐฉ์‹ hash ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๊ตฌํ˜„๋จ key๊ฐ€ ๋˜๋Š” ๊ฐ์ฒด๋Š” ์ค‘๋ณต๋  ์ˆ˜ ์—†์Œ > ๊ฐ์ฒด์˜ ์œ ์ผ์„ฑ ๋น„๊ต๋ฅผ ์œ„ํ•œ equals()๋ฉ”์„œ๋“œ์™€ hashCode()๋ฉ”์„œ๋“œ ๊ตฌํ˜„ํ•ด์•ผ ํ•จ ex) Member.java public class Member { private int memberId;... Continue reading...

TreeSet

TreeSet ๊ฐ์ฒด ์ •๋ ฌ์— ์‚ฌ์šฉ Set ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ณ , ์˜ค๋ฆ„์ฐจ์ˆœ / ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๊ฐ์ฒด๋ฅผ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์Œ ๋‚ด๋ถ€์ ์œผ๋กœ ์ด์ง„๊ฒ€์ƒ‰ํŠธ๋ฆฌ(binary search tree)๋กœ ๊ตฌํ˜„๋˜๋ฉฐ, ์ด์ง„๊ฒ€์ƒ‰ํŠธ๋ฆฌ์— ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ๊ฐ์ฒด๋ฅผ ๋น„๊ตํ•ด์•ผ ํ•˜๋Š”๋ฐ, ๋น„๊ต ๋Œ€์ƒ์ด ๋˜๋Š” ๊ฐ์ฒด์— Comparable ์ด๋‚˜ Comparator ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ ํ•ด์•ผ TreeSet์— ์ถ”๊ฐ€๋  ์ˆ˜ ์žˆ์Œ Comparable์€ java.lang ํŒจํ‚ค์ง€, Comoparator์€ java.util ํŒจํ‚ค์ง€ ๋Œ€๋ถ€๋ถ„... Continue reading...

HashSet

HashSet ํด๋ž˜์Šค๋Š” Set ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ > ์š”์†Œ๋ฅผ ์ˆœ์„œ์— ์ƒ๊ด€์—†์ด ์ €์žฅ, ์ค‘๋ณต๋œ ๊ฐ’์€ ์ €์žฅํ•˜์ง€ ์•Š์Œ HashSet์—์„œ add() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ค‘๋ณต ์—†์ด ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” hashCode()์™€ equals() ๋ฉ”์†Œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด์•ผ ํ•จ ex) Member.java public class Member { private int memberId; //ํšŒ์› ์•„์ด๋”” private String memberName; //ํšŒ์› ์ด๋ฆ„ public Member(int memberId, String memberName)... Continue reading...

[๋””์ž์ธํŒจํ„ด] ์ „๋žต ํŒจํ„ด (Strategy Pattern)

๊ฐ์ฒด์ง€ํ–ฅ์˜ ๊ฝƒ ๐ŸŒผ ๊ฐ™์€ ๊ธฐ๋Šฅ์ด์ง€๋งŒ ์„œ๋กœ ๋‹ค๋ฅธ ์ „๋žต์„ ๊ฐ€์ง„ ํด๋ž˜์Šค๋“ค์„ ๊ฐ๊ฐ ์บก์Šํ™”ํ•˜์—ฌ ์ƒํ˜ธ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํŒจํ„ด ๊ฐ์ฒด์˜ ํ–‰์œ„๋ฅผ ๋ฐ”๊พธ๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ์ง์ ‘ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ „๋žต๋งŒ ๋ณ€๊ฒฝ ํ•˜์—ฌ ์œ ์—ฐํ•˜๊ฒŒ ํ™•์žฅ ex) (interface) EncodingStrategy.java public interface EncodingStrategy { String encode(String text); } (implements EncodingStrategy) NormalStrategy.java public class NormalStrategy implements EncodingStrategy{... Continue reading...

[๋””์ž์ธํŒจํ„ด] ํŒŒ์‚ฌ๋“œ ํŒจํ„ด (Facade Pattern)

Facade๋Š” โ€˜๊ฑด๋ฌผ์˜ ์ •๋ฉดโ€™์„ ์˜๋ฏธํ•˜๋Š” ๋‹จ์–ด๋กœ ์–ด๋–ค ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋‹ค๋ฅธ ์ปค๋‹ค๋ž€ ์ฝ”๋“œ ๋ถ€๋ถ„์— ๋Œ€ํ•˜์—ฌ ๊ฐ„๋žตํ™”๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ๋””์ž์ธ ํŒจํ„ด / ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ์ฒด์™€ ์‹ค์ œ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ธŒ ๊ฐ์ฒด์˜ ์‚ฌ์ด์— ๋ณต์žกํ•œ ์˜์กด ๊ด€๊ณ„๊ฐ€ ์žˆ์„ ๋•Œ, ์ค‘๊ฐ„์— facade๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ๋‘๊ณ , ์—ฌ๊ธฐ์„œ ์ œ๊ณตํ•˜๋Š” interface๋งŒ์„ ํ™œ์šฉํ•œ์—ฌ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ์ฒด๋ฅผ ํ•ฉ์ณ์„œ ํŠน์ •ํ•œ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค ๋•Œ... Continue reading...