Day12 - jeremy0405/Codesquad_CS GitHub Wiki
μ€λ donggi
μ ν
λ κ°μ΄ μ§ νλ‘κ·Έλλ°μ νμλ€. μ΄ κ³Όμ μμ int λ°°μ΄μ 리μ€νΈλ‘ λ³ν ν 리μ€νΈμ contains()
λ©μλλ₯Ό ν΅ν΄ κ°μ΄ μ‘΄μ¬νλμ§ μ 무λ₯Ό 체ν¬νλ €κ³ νλ€. νμ§λ§ μνλλλ‘ λμμ΄ λμ§ μμμ λΉν©μ€λ¬μ λ€. μ λμμ νμ§ μμλμ§ λμμ νκΈ° μν΄μλ μ΄λ»κ² ν΄μΌ νλμ§ μ 리ν΄λ³΄λ €κ³ νλ€.
int[] array = {1, 2, 4, 8, 16};
List.of(array).contains(1);
μμ μ½λλ₯Ό 보면 arrayλ₯Ό 리μ€νΈλ‘ λ³ν ν 1μ΄ λ€μ΄κ° μμΌλκΉ trueλ₯Ό λ°νν κ² κ°λ€. νμ§λ§ μ€μ λ‘λ falseλ₯Ό λ°ννλ€.
λ€μκ³Ό κ°μ μ½λλ μ΄λ¨κΉ?
int[] array = {1, 2, 4, 8, 16};
Arrays.asList(array).contains(1);
μμ μ½λλ trueλ₯Ό λ°ν ν κ² κ°μ§λ§ falseλ₯Ό λ°ννλ€.
μ°λ¦¬κ° array μ°Έμ‘°λ³μλ₯Ό List.of()
λλ Arrays.asList()
μ λ£μ λ List<Integer>
νμ
μ κΈ°λνμ§λ§ μ€μ λ°ν νμ
μ List<int[]>
κ° λ°νμ΄ λκΈ° λλ¬Έμ Listμλ int λ°°μ΄μ κ°λ₯΄ν€λ μ°Έμ‘°λ³μ (λ©λͺ¨λ¦¬μ£Όμ)κ° λ€μ΄κ° μκ² λλ κ²μ΄λ€.
κ·Έλ λ€λ©΄ μ΄λ»κ² ν΄μΌ μ½λκ° μ°λ¦¬μ μλλλ‘ λμν κΉ?
- primitive typeμ Wrapper Classλ‘ λ°κΎΌλ€.
Integer[] array = {1, 2, 4, 8, 16};
List.of(array).contains(1); //true
Arrays.asList(array).contains(1); //true
- λ°λ³΅λ¬ΈμΌλ‘ μ§μ λ£μ΄μ€λ€.
int[] array = {1, 2, 4, 8, 16};
List<Integer> list = new ArrayList<>();
for (int a : arr) {
list.add(a);
}
list.contains(1); //true
- Streamμ μ¬μ©νλ€.
int[] array = {1, 2, 4, 8, 16};
List<Integer> list = Arrays.stream(array)
.boxed()
.collect(Collectors.toList());
list.contains(1); //true
List.of()
λ‘ λ¦¬μ€νΈλ₯Ό λ§λ κ²½μ°μλ Immutableμ μ μ§νκΈ° λλ¬Έμ λ°°μ΄μ add, set, sort, removeμ κ°μ λ©μλλ€μ μμ μ¬μ©ν μ μλ€. λν nullκ°μ΄ ν λΉ λ μ μλ€.
Arrays.asList()
λ‘ λ°°μ΄μ λ§λ κ²½μ°μλ setμ΄λ replace μ κ°μ λ³κ²½μ νμ©νλ©° nullλ νμ©νλ€. νμ§λ§ addμ removeμ κ°μ κ²½μ°λ κΈμ§νλ€.
λ°λΌμ λ°°μ΄μ 리μ€νΈλ‘ λ§λ ν addμ κ°μ λ©μλλ€μ μ¬μ©νκ³ μΆλ€λ©΄ Streamμ μ΄μ©ν΄μ 리μ€νΈλ₯Ό μμ±(μμ 3λ² λ°©μ)νκ±°λ λ°°μ΄μ νλμ© Listμ addνλ λ°©μ(μμ 2λ² λ°©μ)μΌλ‘ λ§λ€μ΄μΌ νλ€.
+----------------------+---------------+----------+----------------+---------------------+
| Operations | SINGLETONLIST | LIST.OF | ARRAYS.ASLIST | JAVA.UTIL.ARRAYLIST |
+----------------------+---------------+----------+----------------+---------------------+
| add | β | β | β | βοΈ |
+----------------------+---------------+----------+----------------+---------------------+
| addAll | β | β | β | βοΈ |
+----------------------+---------------+----------+----------------+---------------------+
| clear | β | β | β | βοΈ |
+----------------------+---------------+----------+----------------+---------------------+
| remove | β | β | β | βοΈ |
+----------------------+---------------+----------+----------------+---------------------+
| removeAll | βοΈ | β | βοΈ | βοΈ |
+----------------------+---------------+----------+----------------+---------------------+
| retainAll | βοΈ | β | βοΈ | βοΈ |
+----------------------+---------------+----------+----------------+---------------------+
| replaceAll | β | β | βοΈ | βοΈ |
+----------------------+---------------+----------+----------------+---------------------+
| set | β | β | βοΈ | βοΈ |
+----------------------+---------------+----------+----------------+---------------------+
| sort | βοΈ | β | βοΈ | βοΈ |
+----------------------+---------------+----------+----------------+---------------------+
| remove on iterator | β | β | β | βοΈ |
+----------------------+---------------+----------+----------------+---------------------+
| set on list-iterator | β | β | βοΈ | βοΈ |
+----------------------+---------------+----------+----------------+---------------------+