๐Ÿ“™ Java

[Java] ์ปฌ๋ ‰์…˜(Collection)

ji_wonna 2022. 9. 17. 16:42

์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ตฌ์กฐ

 

 

List

๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ๊ฐ€ ์œ ์ง€๋˜๋ฉฐ ์ค‘๋ณต์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

ArrayList, Vector, Stack, LinkedList ๋“ฑ์ด List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.

 

Set

๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ๊ฐ€ ์œ ์ง€๋˜์ง€ ์•Š๊ณ  ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

HashSet, TreeSet ๋“ฑ์ด Set ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.

 

Map

ํ‚ค(key)์™€ ๊ฐ’(value) ์Œ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.

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

HashMap, HashTable, TreeMap, Properties ๋“ฑ์ด Map ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.

 

 

Collection ๋ฉ”์„œ๋“œ

์ถ”๊ฐ€

  • add(Object o): ๊ฐ์ฒด ๋ฐ ์ปฌ๋ ‰์…˜์˜ ๊ฐ์ฒด๋“ค์„ ์ปฌ๋ ‰์…˜์— ์ถ”๊ฐ€
  • addAll(Collection c): ๊ฐ์ฒด ๋ฐ ์ปฌ๋ ‰์…˜์˜ ๊ฐ์ฒด๋“ค์„ ์ปฌ๋ ‰์…˜์— ์ถ”๊ฐ€

 

๊ฒ€์ƒ‰

  • contains(Object o): ๊ฐ์ฒด์— o๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ด
  • containsAll(Collection c): ์ปฌ๋ ‰์…˜์— c๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ด
  • iterator(): ์ปฌ๋ ‰์…˜์˜ iterator๋ฅผ ๋ฆฌํ„ด
  • equals(Object o): ์ปฌ๋ ‰์…˜์ด ๋™์ผํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ด
  • isEmpty(): ์ปฌ๋ ‰์…˜์ด ๋น„์–ด์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ด
  • size(): ์ €์žฅ๋œ ์ „์ฒด ๊ฐ์ฒด ์ˆ˜๋ฅผ ๋ฆฌํ„ด

 

์‚ญ์ œ

  • clear(): ์ €์žฅ๋œ ๋ชจ๋“  ๊ฐ์ฒด ์‚ญ์ œ
  • remove(Object o): ์ฃผ์–ด์ง„ ๊ฐ์ฒด๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์„ฑ๊ณต ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ด
  • removeAll(Collection c): ์ฃผ์–ด์ง„ ์ปฌ๋ ‰์…˜์„ ์‚ญ์ œํ•˜๊ณ  ์„ฑ๊ณต ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ด
  • retainAll(Collection c): ์ฃผ์–ด์ง„ ์ปฌ๋ ‰์…˜์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๊ฐ์ฒด๋ฅผ ์ปฌ๋ ‰์…˜์—์„œ ์‚ญ์ œํ•˜๊ณ  ์ปฌ๋ ‰์…˜์— ๋ณ€ํ™”๊ฐ€ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ด

 

๋ณ€ํ™˜

  • toArray(): ์ปฌ๋ ‰์…˜ ๊ฐ์ฒด๋“ค์„ ๊ฐ์ฒด ๋ฐฐ์—ด(Object [])๋กœ ๋ฐ˜ํ™˜
  • toArray(Object[] a): ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์— ์ปฌ๋ ‰์…˜์˜ ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•ด์„œ ๋ฐ˜ํ™˜

 

 

Iterator

๋ฐ˜๋ณต์ž๋ผ๋Š” ์˜๋ฏธ๋กœ ์ปฌ๋ ‰์…˜์— ์ €์žฅ๋œ ์š”์†Œ๋“ค์„ ์ฐจ๋ก€๋Œ€๋กœ ์ฝ์–ด์˜จ๋‹ค.

Iterator ์ธํ„ฐํŽ˜์ด์Šค์— ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์ด ์ •์˜๋˜์–ด ์žˆ์œผ๋ฉฐ Collection ์ธํ„ฐํŽ˜์ด์Šค์—๋Š” iterator()๊ฐ€ ์ •์˜๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Collection์„ ์ƒ์†๋ฐ›์•„ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. iterator()๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด Iterator ํƒ€์ž…์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ฐ˜ํ™˜๋œ๋‹ค.

Iterator๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  for-each๋ฌธ์„ ์ด์šฉํ•ด์„œ ์ˆœํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.

ArrayList<String> list = ...;
for(String str : list) {
    ...
}

 

Iterator ์ธ์Šคํ„ด์Šค ๋ฉ”์„œ๋“œ

  • hasNext(): ์ฝ์–ด์˜ฌ ๊ฐ์ฒด๊ฐ€ ์žˆ์œผ๋ฉด true๋ฅผ ๋ฆฌํ„ดํ•˜๊ณ  ์—†์œผ๋ฉด false๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค.
  • next(): ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋ฅผ ์ฝ์–ด์˜จ๋‹ค. next()๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์ „์— hasNext()๋ฅผ ํ†ตํ•ด ๋‹ค์Œ ์š”์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค.
  • remove(): next()๋กœ ์ฝ์–ด์˜จ ๊ฐ์ฒด๋ฅผ ์‚ญ์ œํ•œ๋‹ค. next() → remove() ์ˆœ์„œ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

 

 


 

List

List ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์ผ๋ ฌ๋กœ ๋Š˜์–ด๋†“์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•˜๋ฉด ์ธ๋ฑ์Šค๊ฐ€ ์ƒ๊ธฐ๊ณ  ์ธ๋ฑ์Šค๋กœ ๊ฐ์ฒด๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.

 

List ๋ฉ”์„œ๋“œ

์ถ”๊ฐ€

  • add(int index, Object element): index์— element๋ฅผ ์ถ”๊ฐ€
  • addAll(int index, Collection c): index์— c๋ฅผ ์ถ”๊ฐ€, ๋ฆฌํ„ด ํƒ€์ž…์€ boolean
  • set(int index, Object element): index์— element๋ฅผ ์ €์žฅ, ๋ฆฌํ„ด ํƒ€์ž…์€ Object

 

๊ฒ€์ƒ‰

  • get(int index): index์— ์ €์žฅ๋œ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜, ๋ฆฌํ„ด ํƒ€์ž…์€ Object
  • indexOf(Object o), lastIndexOf(Object o): ์ˆœ, ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ํƒ์ƒ‰ํ•˜์—ฌ o์˜ ์ธ๋ฑ์Šค ๋ฐ˜ํ™˜
  • listIterator(), listIterator(int index): List๋ฅผ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” iterator ๋ฐ˜ํ™˜
  • subList(int fromIndex, int toIndex): fromIndex~toIndex ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜

 

์‚ญ์ œ

  • remove(int index): index์˜ ๊ฐ์ฒด๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์‚ญ์ œ๋œ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜, ๋ฆฌํ„ด ํƒ€์ž…์€ Object
  • remove(Object o): o๋ฅผ ์‚ญ์ œ, ๋ฆฌํ„ด ํƒ€์ž…์€ boolean

 

์ •๋ ฌ

  • sort(Comparator c): ๋น„๊ต์ž(comparator)๋กœ ๋ฆฌ์ŠคํŠธ ์ •๋ ฌ

 

 

ArrayList

List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํด๋ž˜์Šค์ด๋‹ค.

๋ฐฐ์—ด๊ณผ ๋‹ฌ๋ฆฌ ์ €์žฅ๊ณต๊ฐ„์ด ์ดˆ๊ณผ๋˜๋ฉด ์ž๋™์œผ๋กœ ๋Š˜์–ด๋‚˜๋ฉฐ ์ˆœ์„œ๊ฐ€ ์œ ์ง€๋œ๋‹ค๋Š” ํŠน์ง•์„ ๊ฐ–๋Š”๋‹ค.

ArrayList๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ €์žฅํ•  ๊ฐ์ฒด ํƒ€์ž…์„ ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ‘œ๊ธฐํ•˜๊ณ  ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.

ArrayList<ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜> ๊ฐ์ฒด๋ช… = new ArrayList<ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜>(์ดˆ๊ธฐ ์ €์žฅ ์šฉ๋Ÿ‰);

ArrayList๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ถ”๊ฐ€, ์‚ญ์ œํ•˜๋Š” ๊ฒฝ์šฐ ์œ ๋ฆฌํ•˜๊ณ  ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ƒ‰์ด ๋น ๋ฅด๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ค‘๊ฐ„์— ์œ„์น˜ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€, ์‚ญ์ œํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•ด์„œ ์ด๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๊ฐ€ ์ €ํ•˜๋œ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ ์•„๋ž˜์— ์ž‘์„ฑํ•œ LinkedList๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํšจ์œจ์ ์ด๋‹ค.

 

ArrayList (Java Platform SE 8 )

Resizable-array implementation of the List interface. Implements all optional list operations, and permits all elements, including null. In addition to implementing the List interface, this class provides methods to manipulate the size of the array that is

docs.oracle.com

 

 

LinkedList

๋ฐ์ดํ„ฐ๊ฐ€ ๋ถˆ์—ฐ์†์ ์œผ๋กœ ์กด์žฌํ•˜๋ฉฐ ์ด์ „ ์š”์†Œ์™€ ๋‹ค์Œ ์š”์†Œ์˜ ์ฃผ์†Œ๊ฐ’๊ณผ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋นˆ๋ฒˆํ•œ ๋ฐ์ดํ„ฐ์˜ ์‚ญ์ œ๋‚˜ ์‚ฝ์ž…์ด ๋ฐœ์ƒํ•˜๋Š” ๊ณณ์—์„œ๋Š” LinkedList์˜ ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ArrayList๋ณด๋‹ค ๋น ๋ฅด๋‹ค.

ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰์— ์žˆ์–ด์„œ๋Š” ์‹œ์ž‘ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊นŒ์ง€ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฐ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋Œ€์ ์œผ๋กœ ๋Š๋ฆฐ ์†๋„๋ฅผ ๊ฐ€์ง„๋‹ค.

 

 


 

Set

Set์€ ์ˆ˜ํ•™์—์„œ์˜ ์ง‘ํ•ฉ๊ณผ ๋น„์Šทํ•˜๊ฒŒ ์ค‘๋ณต๋œ ๊ฐ’์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ˆœ์„œ๊ฐ€ ์—†๋‹ค.

๋Œ€ํ‘œ์ ์ธ ํด๋ž˜์Šค๋กœ๋Š” HashSet, TreeSet์ด ์žˆ๋‹ค

 

Set ๋ฉ”์„œ๋“œ

์ถ”๊ฐ€

  • add(Object o): o๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์„ฑ๊ณต์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜, ์ค‘๋ณต ๊ฐ์ฒด๋ฉด false๋ฅผ ๋ฐ˜ํ™˜

 

๊ฒ€์ƒ‰

  • contains(Object o): o๊ฐ€ Set์— ์กด์žฌํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  • isEmpty(): Set์ด ๋น„์–ด์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  • iterator(): Iterator๋ฅผ ๋ฐ˜ํ™˜
  • size(): ์ „์ฒด ๊ฐ์ฒด์˜ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜

 

์‚ญ์ œ

  • clear(): ๋ชจ๋“  ๊ฐ์ฒด๋ฅผ ์‚ญ์ œ
  • remove(Object o): o๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์„ฑ๊ณต ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜

 

HashSet

Set ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ๋Œ€ํ‘œ์ ์ธ ํด๋ž˜์Šค์ด๋‹ค.

 

HashSet (Java Platform SE 7 )

This class implements the Set interface, backed by a hash table (actually a HashMap instance). It makes no guarantees as to the iteration order of the set; in particular, it does not guarantee that the order will remain constant over time. This class permi

docs.oracle.com

 

TreeSet

TreeSet์€ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์—ฌ ์ •๋ ฌ๊ณผ ๊ฒ€์ƒ‰์— ์œ ๋ฆฌํ•˜๋‹ค.

 

TreeSet (Java Platform SE 7 )

A NavigableSet implementation based on a TreeMap. The elements are ordered using their natural ordering, or by a Comparator provided at set creation time, depending on which constructor is used. This implementation provides guaranteed log(n) time cost for

docs.oracle.com

 

 

 


 

 

Map

Map ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํ‚ค(key)์™€ ๊ฐ’(value)์œผ๋กœ ๊ตฌ์„ฑ๋œ Entry ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ–๋Š”๋‹ค.

๋ชจ๋“  key๋Š” ๊ณ ์œ ํ•œ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ key๊ฐ€ ๋‹ค๋ฅด๋ฉด ๊ฐ’์ด ๊ฐ™์•„๋„ ๋‹ค๋ฅธ entry๋กœ ๊ฐ„์ฃผํ•œ๋‹ค.

Map ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค๋กœ๋Š” HashMap, Hashtable, TreeMap, SortedMap ๋“ฑ์ด ์žˆ๋‹ค.

 

Map ๋ฉ”์„œ๋“œ

์ถ”๊ฐ€

  • put(Object key, Object value): key๊ฐ€ ์ƒˆ๋กœ์šด ํ‚ค์ผ ๊ฒฝ์šฐ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  null์„ ๋ฐ˜ํ™˜, ์ด๋ฏธ ์กด์žฌํ•˜๋Š” key์ผ ๊ฒฝ์šฐ ๊ธฐ์กด์˜ ๊ฐ’์„ value๋กœ ๋Œ€์ฒดํ•˜๊ณ  ๊ธฐ์กด์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜

 

๊ฒ€์ƒ‰

  • containsKey(Object key): key๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  • containsValue(Object value): value๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  • entrySet(): ํ‚ค, ๊ฐ’ ์Œ์˜ ๋ชจ๋“  Map.Entry ๊ฐ์ฒด๋ฅผ Set์— ๋‹ด์•„์„œ ๋ฐ˜ํ™˜
  • get(Object key): key์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜
  • isEmpty(): ๋น„์–ด์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜
  • keySet(): ๋ชจ๋“  ํ‚ค๋ฅผ Set์— ๋‹ด์•„์„œ ๋ฐ˜ํ™˜
  • size(): Entry ๊ฐ์ฒด์˜ ๊ฐฏ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜
  • values(): ์ €์žฅ๋œ ๋ชจ๋“  ๊ฐ’์„ Collection์— ๋‹ด์•„์„œ ๋ฐ˜ํ™˜

 

์‚ญ์ œ

  • clear(): ๋ชจ๋“  Map.Entry๋ฅผ ์‚ญ์ œ
  • remove(Object key): key์™€ ์ผ์น˜ํ•˜๋Š” Map.Entry๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๊ฐ’์„ ๋ฐ˜ํ™˜

 

HashMap

Map ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ๋Œ€ํ‘œ์ ์ธ ํด๋ž˜์Šค์ด๋‹ค.

ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ํ‚ค์™€ ๊ฐ’์ด ์ €์žฅ๋˜๋Š” ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๋ฉฐ ์‚ฝ์ž…๋˜๋Š” ์ˆœ์„œ์™€ ์œ„์น˜๋„ ๊ด€๊ณ„๊ฐ€ ์—†๋‹ค.

ํ•ด์‹ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•  ๋•Œ ํšจ์œจ์ ์ด๋‹ค.

HashMap์„ ์ƒ์„ฑํ•  ๋•Œ์—๋Š” ํ‚ค์™€ ๊ฐ’์˜ ํƒ€์ž…์„ ๋”ฐ๋กœ ์ง€์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

HashMap<String, Integer> hashmap = new HashMap<>();

ํ‚ค์™€ ๊ฐ’์„ ์Œ์œผ๋กœ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— iterator()๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•  ์ˆ˜ ์—†๊ณ  keySet()์ด๋‚˜ entrySet()์„ ํ†ตํ•ด Set์œผ๋กœ ๋ณ€ํ™˜ํ•œ ํ›„์— iterator()๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœํšŒํ•œ๋‹ค.