๐ŸŒฑ → ๐ŸŒณ

[Java] Collection ๊ตฌ์กฐ ์ •๋ฆฌ ๋ณธ๋ฌธ

์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

[Java] Collection ๊ตฌ์กฐ ์ •๋ฆฌ

BAY 2023. 6. 2. 13:07
728x90

 

1. Collection Interface

 

Iterator ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†ํ•œ Collection์€ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋กœ add(), size(), iterator() ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

Collection ์ธํ„ฐํŽ˜์ด์Šค List์™€ Set ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋งŽ์€ ๊ณตํ†ต๋œ ๋ถ€๋ถ„์„ Collection ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ •์˜ํ•˜๊ณ , ๋‘ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ทธ๊ฒƒ์„ ์ƒ์†๋ฐ›์Œ

 

 

P.S    Collections๋ž€?

Collection์ธํ„ฐํŽ˜์ด์Šค์™€ ๋‹ฌ๋ฆฌ Java 1.2์ด์ƒ๋ถ€ํ„ฐ Collections๋ผ๋Š” staticํด๋ž˜์Šค๊ฐ€ ์กด์žฌํ•จ

Collections ๋Š” ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›์— ์†ํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ง€์›ํ•ด์ฃผ๋Š” ๋‹ค์–‘ํ•œ ๋ฉ”์†Œ๋“œ๊ฐ€ ์กด์žฌ

 

 

Collection์ด๋ž€ ๋ง๋Œ€๋กœ ๋ฐ์ดํ„ฐ์˜ ๊ทธ๋ฃน ์ง‘ํ•ฉ์ฒด๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค.

์ž๋ฐ”์— Collection ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ํฌ๊ฒŒ List , Set , Map 3๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

 

๊ทธ์ค‘ Collection ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋Š” List , Set์ด๋ฉฐ,

Map์€ ๊ธฐ๋ณธ์ ์œผ๋กœ Key, Value ๋ผ๋Š” ๋‹ค๋ฅธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์—, ๋…๋ฆฝ์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค.

 

Collection ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†ํ•˜๋Š” ํด๋ž˜์Šค๋“ค์„ Collections ๋ผ๊ณ  ๋ถ€๋ฆ„

 

์ž๋ฃŒ๊ตฌ์กฐ๋ณ„ ๋Œ€๋žต์ ์ธ ํŠน์ง•

 

2. Collection ํ•˜์œ„ ์ธํ„ฐํŽ˜์ด์Šค

1) List ์ธํ„ฐํŽ˜์ด์Šค

ํŠน์ง•

index ๋ผ๋Š” ์‹๋ณ„์ž๋กœ ์ˆœ์„œ๋ฅผ ๊ฐ€์ง€๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ.

  • ArrayList
    • ๋‹จ๋ฐฉํ–ฅ ํฌ์ธํ„ฐ ๊ตฌ์กฐ๋กœ ๊ฐ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ์กฐํšŒ ๊ธฐ๋Šฅ์— ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚จ
    • ๋ฐฐ์—ด๊ณผ ๋‹ฌ๋ฆฌ ์ดˆ๊ธฐํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋ฏ€๋กœ, ์‚ฝ์ž… ์‚ญ์ œ๊ฐ€ ์ž์œ ๋กœ์›€
  • LinkedList
    - ์–‘๋ฐฉํ–ฅ ํฌ์ธํ„ฐ ๊ตฌ์กฐ๋กœ ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…, ์‚ญ์ œ๊ฐ€ ๋นˆ๋ฒˆํ•  ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜์ •๋ณด๋งŒ ์ˆ˜์ • ํ•˜๋ฉด ๋˜๊ธฐ์— ์œ ์šฉ
    - ์Šคํƒ, ํ, ์–‘๋ฐฉํ–ฅ ํ ๋“ฑ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์“ฐ์ž„
  • Vector
    - ๊ณผ๊ฑฐ์— ๋Œ€์šฉ๋Ÿ‰ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ–ˆ์œผ๋ฉฐ, ๋‚ด๋ถ€์—์„œ ์ž๋™์œผ๋กœ ๋™๊ธฐํ™”์ฒ˜๋ฆฌ๊ฐ€ ์ผ์–ด๋‚˜ ๋น„๊ต์  ์„ฑ๋Šฅ์ด ์ข‹์ง€ ์•Š๊ณ  ๋ฌด๊ฑฐ์›Œ ์ž˜ ์“ฐ์ด์ง€ ์•Š์Œ

 

2) Set ์ธํ„ฐํŽ˜์ด์Šค

์ˆœ์„œ๊ฐ€ ์—†๊ณ , ๋ฐ์ดํ„ฐ ์œ ์ผ์„ฑ์„ ๊ฐ€์ง€๋Š” ์ž๋ฃŒ๊ตฌ์กฐ.

  • HashSet
    - ๊ฐ€์žฅ๋น ๋ฅธ ์ž„์˜ ์ ‘๊ทผ ์†๋„
    - ์ˆœ์„œ๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†์Œ

  • TreeSet
    - ์ •๋ ฌ ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Œ

 

3) Map ์ธํ„ฐํŽ˜์ด์Šค

ํ‚ค(Key), ๊ฐ’(Value)์˜ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ,

์ˆœ์„œ๊ฐ€ ์—†๊ณ , ํ‚ค(Key)๋Š” ์œ ์ผ์„ฑ์„ ๊ฐ€์ง€๊ณ , ๊ฐ’(Value)์˜ ์ค‘๋ณต์€ ํ—ˆ์šฉํ•œ๋‹ค.

  • Hashtable
    - HashMap๋ณด๋‹ค๋Š” ๋Š๋ฆฌ์ง€๋งŒ ๋™๊ธฐํ™” ์ง€์›
    - null๋ถˆ๊ฐ€

  • HashMap
    - ์ค‘๋ณต๊ณผ ์ˆœ์„œ๊ฐ€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ null๊ฐ’์ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

  • TreeMap
    - ์ •๋ ฌ๋œ ์ˆœ์„œ๋Œ€๋กœ ํ‚ค(Key)์™€ ๊ฐ’(Value)์„ ์ €์žฅํ•˜์—ฌ ๊ฒ€์ƒ‰์ด ๋น ๋ฆ„

 

Reference

https://velog.io/@maestroks/List-Set-Map-HashMap%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C-%EC%84%A4%EB%AA%85%ED%95%B4%EC%A3%BC%EC%84%B8%EC%9A%94

https://bangu4.tistory.com/194

 

728x90