π μλ£κ΅¬μ‘° - Listμ Setμ μ°¨μ΄μ
List
κ°μ μ’ λ₯μ μμ΄ν μ μ μ₯
μμλ₯Ό 보μ₯, μ€λ³΅μ νμ©
2000~ 2024λ κΉμ§ μ°μ λμμ μμν μλ₯μΈμ μμλλ‘ μ μ₯
- μ°μλμμ μ¬λ¬λ² λ°μμ μ μμ(μ€λ³΅ νμ©), μμλλ‘ μ μ₯(μμλ₯Ό 보μ₯)
νμ μκ³ λ¦¬μ¦ : μμ νμ
μ©λ : index μ κ·Όμ΄ νμν λ
νΉμ§ : index μ κ·Ό κ°λ₯
Set
κ°μ μ’ λ₯μ μμ΄ν μ μ μ₯
μμλ₯Ό 보μ₯νμ§ μμ.
μ€λ³΅μ νμ©νμ§ μμ.
μλμ»΅μμ νλ²μ΄λΌλ 골μ λ£μ μ μ μ΄λ¦μ μ μ₯(μ μ μ΄λ¦μ λ€ λ€λ₯΄λ€)
μμλ μκ΄ μκ³ μ€λ³΅μ΄ λλ©΄ μ λ¨.
λ§μ½ Listμ λ£λλ€λ©΄?
A, B, C, D, E μ μκ° μ‘΄μ¬νλ€. Aμ μκ° κ³¨μ λ£κ³ γγγE μ μκΉμ§ 골μ λ£μμ λ, Aμ μκ° λ€μ 골μ λ£λλ€λ©΄? List μμ μλμ§ νμΈν΄μΌ λκΈ° λλ¬Έμ μ²μλΆν° λκΉμ§ Listλ₯Ό νμΈν΄μΌ λλ€.
μ¬κΈ°μ νμΈνλλ° μκ°μ΄ 빨리 λλ μλ μμ§λ§ μμΉμ λ°λΌ μ€λ 걸릴 μλ μλ€. μ¦, λ°μ΄ν°κ° μλμ§ νμΈνκΈ° μν΄ κ±Έλ¦¬λ μκ°μ΄ μΌμ νμ§ μλ€.
νμ μκ³ λ₯΄μ¦ : ν΄μ ν¨μ & λ²ν·
μ©λ : ν¬ν¨ μ¬λΆλ§ νμΈν λ
νΉμ§ : μ€λ³΅κ° μ κ±°, μμ μ€λ¦μ°¨μ μ λ ¬, index μ κ·Ό λΆκ°
HashMap
HashMap
μ ν€-κ° μ(key-value pair)μ μ μ₯νλ μλ£κ΅¬μ‘°λ‘, ν€(key)λ₯Ό ν΅ν΄ κ°(value)μ λΉ λ₯΄κ² μ κ·Όν μ μλ€.
μλ₯Ό λ€μ΄, νλ²κ³Ό νμ μ΄λ¦μ μ μ₯ν λ key
λ νλ², value
λ νμ μ΄λ¦μΌλ‘ μ€μ ν΄λ³΄μ.
1
2
HashMap<Integer, String> studentMap = new HashMap<>();
studentMap.put(2001206, "μ΄λμ "); // key: 2001206, value: "μ΄λμ "
νλμ key
λ μ€μ§ νλμ value
λλ§ μ°κ²°λ μ μλ€.
μ€λ³΅λ ν€λ νμ©λμ§ μμ§λ§ κ°μ μ€λ³΅λ μ μλ€.
HashSet
HashSet
μ κ³ μ ν κ°λ§ μ μ₯νλ μ§ν©(Set) μλ£κ΅¬μ‘°μ΄λ€.
HashSet
μ λ΄λΆμ μΌλ‘ HashMap
μ νμ©νμ¬ κ΅¬νλκ³ , HashMap
μ ν€(key)λ₯Ό μ¬μ©νμ¬ κ°μ μ μ₯νκ³ , κ°(value)μλ λλ―Έ κ°μ λ£λλ€.
HashSet
μ μμλ€μ HashMap
μ ν€ λΆλΆμ μ μ₯λλ©°, κ°μ 무μλλ€. μ΄λ₯Ό ν΅ν΄ κ°μ²΄ κ·Έ μμ²΄κ° κ³ μ νκ² μ μ₯λλ ν¨κ³Όλ₯Ό μ»λλ€.
1
2
HashSet<Integer> studentIds = new HashSet<>();
studentIds.add(2001206); // key λΆλΆμ λ°μ΄ν°κ° μ μ₯
HashSet
μ Set
μΈν°νμ΄μ€μ ꡬν체λ‘, μ€λ³΅λμ§ μλ μμλ₯Ό μ μ₯νλ©°, μμλ₯Ό 보μ₯νμ§ μλλ€.
SortedMap
μ°μ λμμμ ν λ²μ΄λΌλ λμμ λ°μ μλ₯μΈμ μ΄λ¦κ³Ό κ°κ° λͺ λ²μ λ°μλμ§ μ μ₯νμμ€. -> HashMap
μ μ¬μ©νμ¬ μ΄λ¦κ³Ό νμλ₯Ό μ μ₯
μ°μ λμμμ ν λ²μ΄λΌλ λμμ λ°μ μλ₯μΈμ μ΄λ¦κ³Ό κ°κ° λͺ λ²μ λ°μλμ§ μ΄λ¦μμΌλ‘ μ λ ¬νμ¬ μ μ₯νμμ€. -> SortedMap
SortedMap
μ key
, value
λ₯Ό key
μ λνμ¬ μ λ ¬νμ¬ μ μ₯νλ Map
μ΄λ€.
μ½μ , μμ , κ²μμ΄
HashMap
μ΄SortedMap
λ³΄λ€ λΉ λ₯΄λ€.- μ¦, μ λ ¬νμ§ μμλ λλ©΄
HashMap
μ¬μ©, μ λ ¬μ΄ νμνλ€λ©΄SortedMap
μ¬μ©
- μ¦, μ λ ¬νμ§ μμλ λλ©΄
Map
μμKey
λ νμunique
ν¨μ κ°μ§λ€.ConcurrentSkipListMap
TreeMap
μΆκ°
Listμ ν¬κΈ°κ° nμ΄λΌλ©΄ contains(item) : worst case : O(n)
Setμ ν¬κΈ°μ μκ΄μμ΄ case(worst case, best case) μλ μκ΄μμ΄ O(1)
HashMap
: ν€-κ° μμ μ μ₯νλ©°, ν€λ₯Ό ν΅ν΄ κ°μ λΉ λ₯΄κ² μ κ·Όν μ μλ€. ν€λ μ€λ³΅μ΄ λΆκ°λ₯νκ³ , κ°μ μ€λ³΅μ΄ κ°λ₯νλ€.
HashSet
: HashMap
μ ν€ λΆλΆμ νμ©ν΄, κ³ μ ν κ°λ€μ μ μ₯νλ μ§ν©μ΄λ€.
μ¦, μ μ₯λλ λ°μ΄ν°μ μμλ₯Ό 보μ₯ν΄μΌ λλ€λ©΄ Listλ₯Ό μ¬μ©νλ©΄ λμ§λ§ νμμ΄ μ¦λ€λ©΄ Setμ μ¬μ©νλ κ² μ’λ€.