π₯οΈ λ°±μλ/Java
[ch.11] 컬λ μ νλ μμν¬
OR15A
2023. 11. 14. 18:48
Properties ν΄λμ€
- HashTableμ μμλ°μ ꡬνν¨.
- (String, String)μ ννλ‘ μ μ₯νλ λ¨μνν 컬λ μ ν΄λμ€.
- μ£Όλ‘ Appνκ²½μ€μ κ³Ό κ΄λ ¨λ μμ±μ μ₯μ μ¬μ©ν¨.
Collections ν΄λμ€
- 컬λ μ μ λκΈ°ν: νμν κ²½μ°μλ§ λκΈ°ν λ©μλλ₯Ό μ¬μ©νλ©΄ λ¨: synchronized μ΄μ©κ΅¬ ( )
- μ½κΈ° μ μ© μ»¬λ μ μ λ§λ€λλ: unmodifiable~
- λ¨ νλμ κ°μ²΄λ§ μ μ₯νλ μ±κΈν€ 컬λ μ μ λ§λ€λλ: singleton μ΄μ©κ΅¬( )
- ν μ’ λ₯(νμ ) κ°μ²΄λ§ μ μ₯νλ 컬λ μ λ§λ€ λ: checked μ΄μ©κ΅¬( )→μ§λ€λ¦μ€κ° λ κ°λ¨νμ§λ§ νΈνμ± λλ¬Έμ μ¬μ©ν¨
Arrays ν΄λμ€
- λ°°μ΄μ λ€λ£¨λλ° μ μ©ν λ©μλκ° μ μλμ΄μμ
- copyOf: λ°°μ΄ μ 체 볡μ¬
- copyOfRange: μ§μ λ λ²μ 볡μ¬(λ§μ§λ§μX)
- fill: λ°°μ΄μ λͺ¨λ μμλ₯Ό μ§μ λ κ°μΌλ‘ μ±μ
- setAll(λ°°μ΄,λλ€μ): λ°°μ΄μ μ±μ°λλ° μ¬μ©ν ν¨μν μΈν°νμ΄μ€/λλ€μμ 맀κ°λ³μλ‘ λ°μ
- sort: λ°°μ΄μ μ λ ¬ν λ
- binarySearch: λ°°μ΄μ μ μ₯λ μμλ₯Ό κ²μν λ (μ λ ¬μ΄ μ νλμ΄μΌν¨)
- equals: λ°°μ΄μ μ μ₯λ λͺ¨λ μμ λΉκ΅
- deepEquals: λ€μ°¨μ λ°°μ΄ λΉκ΅
- asList: λ°°μ΄μ Listμ λ΄μμ λ°νν¨. 맀κ°λ³μκ° κ°λ³μΈμλΌ κ·Έλ₯ μ μ₯ν μμλ₯Ό λμ΄λ§ ν΄λ λ¨. λ°νν Listλ ν¬κΈ° λ³κ²½μ΄ λΆκ°ν¨(μ½κΈ°μ μ©,μμ볡μ¬) ν¬κΈ° λ³κ²½μ΄ κ°λ₯ν List νμ μ ArrayListμ μμ±μ 맀κ°λ³μλ‘ λ£μ΄μ£Όλ©΄λ¨
- parallel: λ³΄λ€ λΉ λ₯Έκ²°κ³Όλ₯Ό μν΄ μ¬λ¬ μ°λ λκ° μμ μ λλ
- spliterator: νλμ΄ μμ μ μ¬λ¬ μμ μΌλ‘ λλλ spliteratorλ₯Ό λ°νν¨
- stream: 컬λ μ μ μ€νΈλ¦ΌμΌλ‘ λ³νν¨
Comparable, Comparator μΈν°νμ΄μ€
- 컬λ μ μ μ λ ¬νλλ° νμν λ©μλλ₯Ό μ μν¨.
- “μ΄ μΈν°νμ΄μ€λ₯Ό ꡬνν¨”=μ λ ¬ κΈ°μ€ μ 곡ν¨
- κΈ°λ³Έ μ λ ¬ κΈ°μ€ κ΅¬ν μ: Comparable compareTo( obj 1 )
- λ€λ₯Έ κΈ°μ€μΌλ‘ μ λ ¬ μ: Comparator compare( obj 1, obj 2 )
- ComparableμΈν°νμ΄μ€: κ°μ²΄ μ λ ¬ μ μ¬μ©ν¨. compareTo()λ©μλλ₯Ό μ μν΄μ ꡬνν¨. 맀κ°λ³μλ‘ λΉκ΅λμ κ°μ²΄λ₯Ό λ°μμ νμ¬κ°μ²΄(this)μ λΉκ΅ν¨. thisκ° ν¬λ©΄ μμ, μμΌλ©΄ μμ, κ°μΌλ©΄0
- ComparatorμΈν°νμ΄μ€: Comparableκ³Ό λ³λλ‘ μ‘΄μ¬ν¨. μ λ ¬κΈ°μ€μ μ 곡ν¨. compare()λ©μλλ₯Ό μ μν΄μ ꡬνν¨. λ κ°μ 맀κ°λ³μλ₯Ό λ°μμ λΉκ΅ ν μΌμͺ½μ΄ ν¬λ©΄ μμ, μμΌλ©΄ μμ, κ°μΌλ©΄0
- Comparableλ₯Ό ꡬνν ν΄λμ€μ κ°μ²΄λ₯Ό compare()λ©μλμ 맀κ°λ³μλ‘ λκ²¨μ€ κ²½μ°, ν΄λΉ κ°μ²΄λ₯Ό Comparableλ‘ νλ³ννμ¬ CompareTo()λ©μλλ₯Ό νΈμΆν¨.
ArrayDeque
- μλ°μ 컬λ μ νλ μμν¬μμ μ 곡λλ ν΄λμ€.
- λ±(deque)μ΄λΌκ³ λΆλ¦¬λ μλ°©ν₯ νλ₯Ό ꡬνν μλ£κ΅¬μ‘°.
- λ΄λΆμ μΌλ‘ λ°°μ΄μ μ¬μ©νμ¬ μμλ₯Ό μ μ₯νλ©°, ν(Queue)μ μ€ν(Stack)μ κΈ°λ₯μ λͺ¨λ μ 곡ν¨.
- ν¬κΈ° λ³κ²½ κ°λ₯: λμ μΌλ‘ ν¬κΈ°λ₯Ό μ‘°μ ν μ μμΌλ©°, νμμ λ°λΌ μλμΌλ‘ λ©λͺ¨λ¦¬λ₯Ό ν λΉ/ν΄μ ν¨.
- μλ°©ν₯ ν: νμ μκ³Ό λ€μμ μμλ₯Ό μΆκ°νκ±°λ μ κ±°ν μ μμ. νμ μ λμμ λͺ¨λ λΉ λ₯΄κ² μμλ₯Ό μ²λ¦¬.
- Null μμ νμ©: null κ°μ νμ μ μ₯νκ±°λ null κ°μ μ κ±°νλ κ²μ΄ κ°λ₯.
- μ±λ₯: λ΄λΆμ μΌλ‘ λ°°μ΄μ μ¬μ©νκΈ° λλ¬Έμ μΈλ±μ€λ₯Ό ν΅ν μ κ·Όμ΄ λΉ λ₯΄κ³ ν¨μ¨μ . νμ μ λμμμ μμ μΆκ°/μ κ±° μ°μ°μ΄ λͺ¨λ O(1)μ μκ° λ³΅μ‘λλ₯Ό κ°μ§.
Iterator, ListIterator, Enumeration
λ°λ³΅μ
- Iterator: κ° μμμ μ κ·Όνλ κΈ°λ₯μ κ°μ§ μΈν°νμ΄μ€
- Collection μΈν°νμ΄μ€μλ iterator(ꡬν μΈν°νμ΄μ€)λ₯Ό λ°ννλ iterator( )λ©μλ μ μν¨.
- λ©μλ: hasNext(), next(), remove()
- MapμΈν°νμ΄μ€λ₯Ό ꡬνν 컬λ μ ν΄λμ€λ iterator()μ μ§μ νΈμΆμ μ΄λ ΅μ§λ§ ketSet()μ΄λ values()λ‘ κ°κ°μ ν€&κ°μ λ°λ‘ setννλ‘ μ»μ΄μ μ¬μ©ν μ μμ.(+ entrySet())
κΈ°ν
- Collection.sort(set); XXX
- List μΈν°νμ΄μ€λ₯Ό ꡬνν 컬λ μ λ€λ§ μ λ ¬κ°λ₯ν¨.
- Listλ‘ λ³νν΄μ μ λ ¬ν΄μΌν¨.
- List list = new LinkedList(set);
- Collection.sort(list); OOO