1. 컬λ μ μ΄λ ?
컬λ μ μ λ§μ λ°μ΄ν° μμλ₯Ό ν¨μ¨μ μΌλ‘ κ΄λ¦¬νκΈ° μν μλ£κ΅¬μ‘°λ₯Ό λ»νλ©°,
ArrayList, LinkedList, HashMap λ±μ΄ ν¬ν¨λλ€. κ·Έλ¦¬κ³ μ΄ μ»¬λ μ λ€μ μ λ€λ¦(generics) νμμΌλ‘ ꡬνλμ΄ μμ΄ μ»¬λ μ κ³Ό ν¨κ» μ λ€λ¦μ λν΄μλ μ΄ν΄ν΄μΌ νλ€.
μλ°μμλ μ΄λ° 컬λ μ μ μν μΈν°νμ΄μ€μ ν΄λμ€λ€μ΄ μμΌλ©° μμ£Ό μ¬μ©λλ ν΄λμ€λ€μ μ’ λ₯μ μμ κ³μΈ΅λλ μλμ μ¬μ§κ³Ό κ°λ€.
2. 컬λ μ νλ μμν¬ μ₯μ
1. μΈν°νμ΄μ€μ λ€νμ±μ μ΄μ©ν κ°μ²΄μ§ν₯μ μ€κ³λ₯Ό ν΅ν΄ νμ€νλμ΄ μκΈ° λλ¬Έμ, μ¬μ©λ²μ μ΅νκΈ°μλ νΈλ¦¬νκ³ μ¬μ¬μ©μ±μ΄ λλ€.
List<Integer> list = new ArrayList<>();
list = new LinkedList<>();
μ΄λ κ² List μΈν°νμ΄μ€λ₯Ό ꡬννλ λ€λ₯Έ ν΄λμ€(LinkedList, Vector)λ‘ λ³κ²½μ΄ κ°λ₯νλ€. μ½λμ μ μ°μ±μ΄ μ¦κ°
2. λ°μ΄ν° ꡬ쑰 λ° μκ³ λ¦¬μ¦μ κ³ μ±λ₯ ꡬνμ μ 곡νμ¬ νλ‘κ·Έλ¨μ μ±λ₯κ³Ό νμ§μ ν₯μμν¨λ€.
3. κ΄λ ¨ μλ API κ°μ μνΈ μ΄μ©μ±μ μ 곡νλ€. (μμ μΈν°νμ΄μ€ νμ μΌλ‘ μ μΊμ€ν νμ¬ μ¬μ©)
4. μ΄λ―Έ ꡬνλμ΄ μλ APIλ₯Ό μ¬μ©νλ©΄ λκΈ°μ, μλ‘μ΄ APIλ₯Ό μ΅νκ³ μ€κ³νλ μκ°μ΄ μ€μ΄λ λ€.
5. μννΈμ¨μ΄ μ¬μ¬μ©μ μ΄μ§νλ€.
컬λ μ νλ μμν¬μ μ μ₯ν μ μλ λ°μ΄ν°λ μ€λ‘μ§ κ°μ²΄(Object)μ΄λ€. μ¦, intνμ΄λ doubleνκ³Ό κ°μ μλ°μ primitive νμ μ μ μ¬λ₯Ό λͺ»νλ€λ λ§μ΄λ€. λ°λΌμ primitive νμ μ wrapper νμ μΌλ‘ λ³ννμ¬ Integer κ°μ²΄λ Double κ°μ²΄λ‘ λ°μ±νμ¬ μ μ₯ν΄μΌ νλ€. λν κ°μ²΄λ₯Ό λ΄λ λ€λ κ²μ 곧 μ£Όμ 곡κ°μ λ΄λλ€λ κ²μ΄λ, nullλ μ μ₯μ΄ κ°λ₯νλ€.
3. μλ° μ»¬λ μ μ’ λ₯
컬λ μ νλ μμν¬λ ν¬κ² Collection μΈν°νμ΄μ€μ Map μΈν°νμ΄μ€λ‘ λλλ€.
Listμ Set μΈν°νμ΄μ€λ₯Ό ꡬνν 컬λ μ ν΄λμ€λ€μ 곡ν΅λΆλΆμ΄ λ§κΈ° λλ¬Έμ, 곡ν΅λ λΆλΆμ λͺ¨μ Collection μΈν°νμ΄μ€λ‘ μμλμ΄ μλ€.
Map μΈν°νμ΄μ€ 컬λ μ λ€μ λκ°μ λ°μ΄ν°λ₯Ό λ¬Άμ΄ νμμΌλ‘ λ€λ£¨κΈ° λλ¬Έμ Collection μΈν°νμ΄μ€μ λ°λ‘ λΆλ¦¬λμ΄ μλ€.
1. List
- μμλ₯Ό 보μ₯νκ³ μ€λ³΅λλ κ°μ νμ©νλ€.
- λ°°μ΄κ³Ό λ§μ°¬κ°μ§λ‘ indexλ‘ μμμ μ κ·Ό
- μλ£νμ ν¬κΈ°κ° κ³ μ μ΄ μλ λμ μΌλ‘ λ³κ²½
- ꡬν ν΄λμ€λ‘λ ArrayList, LinkedList, Vector, Stackμ΄ μλ€.
- Vectorλ ArrayListμ ꡬλ²μ μ΄λΌκ³ μκ°νλ©΄λλ€. thread-safe νλ€.
- Stackμ Vectorλ₯Ό μμνκΈ° λλ¬Έμ μ μ¬μ©νμ§ μλλ€. (ArrayDequeλ‘ λ체)
2. Queue
- μ μ μ μΆ FIFO(First In First Out) ꡬ쑰
- μ²μ λ€μ΄μ¨ μμκ° κ°μ₯ λ¨Όμ λκ°λ€.
- Queueλ μΈν°νμ΄μ€μ΄κ³ ꡬν체λ LinkedList, PriorityQueue, ArrayDeque
- μ°μ μμ νλ₯Ό ꡬνν λμλ νμμ μΌλ‘ Comparable μΈν°νμ΄μ€λ₯Ό ꡬνν΄μΌ νλ€. compareTo() λ©μλ λ‘μ§μ λ°λΌ μλ£ κ°μ²΄μ μ°μ μμλ₯Ό κ²°μ νλ μμΌλ‘ λμλκΈ° λλ¬Έ, null μ μ₯ λΆκ°, heap ννλ‘ μ μ₯
3. Set
- λ°μ΄ν°μ μ€λ³΅μ νμ©νμ§ μκ³ μμλ₯Ό μ μ§νλ λ°μ΄ν° μ§ν© 리μ€νΈ
- μ€λ³΅ μ μ₯μ΄ λΆκ°λ₯νκΈ° λλ¬Έμ nullκ°λ νλλ§ μ μ₯ κ°λ₯
3. Map
- Key, Value μ μμΌλ‘ μ°κ΄μ§μ΄ μ΄λ£¨μ΄μ§ λ°μ΄ν° μ§ν©
- κ°μ μ€λ³΅λμ΄ μ μ₯λ μ μμ§λ§ ν€λ ν΄λΉ Mapμμ κ³ μ ν΄μΌ νλ€.
- κΈ°μ‘΄μ μ μ₯λ λ°μ΄ν°μ μ€λ³΅λ ν€μ κ°μ μ μ₯νλ©΄ κΈ°μ‘΄μ κ°μ μ¬λΌμ§κ³ λ§μ§λ§μ μ μ₯λ κ°μ΄ λ¨κ² λ¨
- μ μ₯ μμκ° μ μ§ λμ§ μμ
μ΄ μΈμλ μΈν°νμ΄μ€κ° μ‘΄μ¬νμ§λ§ μ§κΈκΉμ§ λ§μ΄ μ¬μ©νλ μΈν°νμ΄μ€μ ν΄λμ€λ₯Ό μμ£Όλ‘ λ€μ€¬λ€. κ°κ°μ μ°μμμ λ°λΌ μλ§μ ꡬν체λ₯Ό μ°λ κ²μ΄ μ λ§ μ€μνλ€.
'π CS [ComputerScience] > π CS λ©΄μ ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
π [CSλ©΄μ ] μΉ λ©΄μ μ§λ¬Έ [13] [ Database ] (0) | 2024.03.07 |
---|---|
π [CSλ©΄μ ] μΉ λ©΄μ μ§λ¬Έ [12] [ Docker ] (0) | 2024.03.03 |
π [CSλ©΄μ ] μΉ λ©΄μ μ§λ¬Έ [10] [μλ£κ΅¬μ‘°] (0) | 2024.03.01 |
π [CSλ©΄μ ] μΉ λ©΄μ μ§λ¬Έ [9] [Servlet] (0) | 2024.02.29 |
π [CSλ©΄μ ] μΉ λ©΄μ μ§λ¬Έ [8] [OSI 7 Layer] (0) | 2024.02.28 |