JavaRush /Java Blog /Random-KO /์ปคํ”ผ ๋ธŒ๋ ˆ์ดํฌ #144. Java์—์„œ ๋ฐฐ์—ด์„ List(ArrayList)๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•. Java์˜ ...

์ปคํ”ผ ๋ธŒ๋ ˆ์ดํฌ #144. Java์—์„œ ๋ฐฐ์—ด์„ List(ArrayList)๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•. Java์˜ ์ข…์†์„ฑ ์ฃผ์ž…

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค

Java์—์„œ ๋ฐฐ์—ด์„ List(ArrayList)๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•

์ถœ์ฒ˜: Rrtutors ์˜ค๋Š˜์€ ๋ฐฐ์—ด์„ ๋ชฉ๋ก(ArrayList)์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ฐฐ์šฐ๊ณ  ๊ฐ ๋ฐฉ๋ฒ•์˜ ์ฝ”๋“œ ์˜ˆ์ œ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ปคํ”ผ ๋ธŒ๋ ˆ์ดํฌ #144.  Java์—์„œ ๋ฐฐ์—ด์„ List(ArrayList)๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•.  Java์˜ ์ข…์†์„ฑ ์ฃผ์ž… - 1๋ฐฐ์—ด์€ ๊ฐ„๋‹จํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ์ง€๋งŒ ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋˜๋Š” ๋“ฑ ๋งŽ์€ ์ œํ•œ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์ฒ˜์Œ์— ์ƒˆ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์š”์†Œ๋ฅผ ์žฌ๋ฐฐ์—ดํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ๋•๋ถ„์— List, Set, Queue๋ฅผ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ณดํŽธ์ ์ด๊ณ  ์œ ์—ฐํ•œ ๋ฐฐ์—ด ๋ชฉ๋ก(ArrayList)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Java์—์„œ ๋ฐฐ์—ด์„ ๋ณ€ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  1. ์ˆœ์ง„ํ•˜๊ฑฐ๋‚˜ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ๋ฐฉ๋ฒ•.
  2. Arrays.asList() ๋ฉ”์†Œ๋“œ .
  3. Collections.addAll() ๋ฉ”์†Œ๋“œ .

์ˆœ์ง„ํ•˜๊ฑฐ๋‚˜ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ๋ฐฉ๋ฒ• ์‚ฌ์šฉ

์ด ๋ฐฉ๋ฒ•์—์„œ๋Š” ๋นˆ ๋ฐฐ์—ด์—์„œ ๋ชฉ๋ก์ด ์ƒ์„ฑ๋˜๊ณ  ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๊ฐ€ ํ•˜๋‚˜์”ฉ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•œ ํ›„์— ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐฐ์—ด์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • ๋นˆ ๋ชฉ๋ก์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.
  • ์ด์ œ ๋ฐฐ์—ด์— ๊ฐ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • ์ „์ฒด ๋ชฉ๋ก์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
์ด ์˜ˆ์—์„œ๋Š” ๊ณผ์ผ ๋ฐฐ์—ด์„ ๊ณผ์ผ ๋ชฉ๋ก์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

public class NaivemethodExample {

    public static <T> List<T> convertArrayToList(T array[])

    {

        List<T> list = new ArrayList<>();

        for (T t : array) {

            list.add(t);

        }

        return list;

    }

    public static void main(String args[])

    {

        String array[]

            = { "Mangoes", "Oranges", "berries" };

        System.out.println("Array: "

                           + Arrays.toString(array));

        List<String> list = convertArrayToList(array);

        System.out.println("List: " + list);

    }

}

Arrays.asList() ๋ฉ”์„œ๋“œ

Arrays.asList() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฐ์—ด์ด ์ƒ์„ฑ์ž์— ๋Œ€ํ•œ ๋งค๊ฐœ ๋ณ€์ˆ˜๋กœ List ์ƒ์„ฑ์ž์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฐฐ์—ด์„ ๋ชฉ๋ก์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐฐ์—ด์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • ๋ชฉ๋ก ์ƒ์„ฑ์ž์— ๋ฐฐ์—ด์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌํ•˜์—ฌ ๋ชฉ๋ก์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ์ „์ฒด ๋ชฉ๋ก์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค์Œ์€ Arrays.asList() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณผ์ผ ๋ฐฐ์—ด์„ ๋ชฉ๋ก์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์˜ˆ์ž…๋‹ˆ๋‹ค.
package asList;

import java.util.Arrays;

import java.util.List;

public class asListExample {

    public static <T> List<T> convertArrayToList(T array[])

    {

        List<T> list = Arrays.asList(array);

        return list;

    }

    public static void main(String args[])

    {

        String array[]

            = { "Mangoes", "Oranges", "berries" };

        System.out.println("Array: "

                          + Arrays.toString(array));

        List<String> list = convertArrayToList(array);

        System.out.println("List: " + list);

    }

}

Collections.addAll() ๋ฉ”์„œ๋“œ

๋ชฉ๋ก์€ Java์˜ Collection ํŒจํ‚ค์ง€์˜ ์ผ๋ถ€์ด๋ฏ€๋กœ Collections.addAll() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์„ ๋ชฉ๋ก์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . ์ด ๋ฉ”์„œ๋“œ๋Š” ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์„ ๋ชฉ๋ก์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์šฐ๋ฆฌ๋Š” ๋ฐฐ์—ด์„ ์–ป์Šต๋‹ˆ๋‹ค.
  • ๋นˆ ๋ชฉ๋ก์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • collections.addAll() ๋ฉ”์†Œ๋“œ ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์„ ๋ชฉ๋ก์œผ๋กœ ๋ณ€ํ™˜ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค .
  • ์šฐ๋ฆฌ๋Š” ๋ชฉ๋ก์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
์˜ˆ:
import java.util.ArrayList;

import java.util.Arrays;

import java.util.Collections;

import java.util.List;

public class collectionsall {

    public static <T> List<T> convertArrayToList(T array[])

    {

        List<T> list = new ArrayList<>();

        Collections.addAll(list, array);

        return list;

    }



    public static void main(String args[])

    {

        String array[]

            = { "peas", "tomatoes", "water melons" };

        System.out.println("Array: "

                           + Arrays.toString(array));

        List<String> list = convertArrayToList(array);

        System.out.println("List: " + list);

    }

}
๊ฒฐ๋ก :
๋ฐฐ์—ด: [์™„๋‘์ฝฉ, ํ† ๋งˆํ† , ์ˆ˜๋ฐ• ] ๋ชฉ๋ก: [์™„๋‘์ฝฉ, ํ† ๋งˆํ† , ์ˆ˜๋ฐ• ]

Java์˜ ์ข…์†์„ฑ ์ฃผ์ž…

์ถœ์ฒ˜: Medium ์ด ๊ฒŒ์‹œ๋ฌผ์—์„œ๋Š” Java์—์„œ ์ข…์†์„ฑ ์ฃผ์ž…์ด ๋ฌด์—‡์ธ์ง€, ์–ด๋””์— ์‚ฌ์šฉ๋˜๋Š”์ง€, ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์–ด๋–ค ์ด์ ์„ ์ œ๊ณตํ•˜๋Š”์ง€ ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ์ปคํ”ผ ๋ธŒ๋ ˆ์ดํฌ #144.  Java์—์„œ ๋ฐฐ์—ด์„ List(ArrayList)๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•.  Java์˜ ์ข…์†์„ฑ ์ฃผ์ž… - 2DI(์ข…์†์„ฑ ์ฃผ์ž…)๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ์— ์™ธ๋ถ€ ์ข…์†์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค. ์˜์กด์„ฑ ์ฃผ์ž…์€ ๊ฐ์ฒด ์ƒ์„ฑ ๋ฌธ์ œ์™€ ๊ฐ์ฒด ์‚ฌ์šฉ ๋ฌธ์ œ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ž„๋ฒ ๋”ฉ ์›์น™์€ ํŠน์ • ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฐ์ฒด๋‚˜ ํ•จ์ˆ˜๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹  ์ˆ˜์‹  "ํด๋ผ์ด์–ธํŠธ"(๊ฐ์ฒด ๋˜๋Š” ํ•จ์ˆ˜)๋Š” ์ž์‹ ์ด ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๋Š” ์™ธ๋ถ€ ์ฝ”๋“œ("์ธ์ ํ„ฐ")๋กœ๋ถ€ํ„ฐ ์ข…์†์„ฑ์„ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์ข‹์€ ์˜ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ž˜์Šค X๊ฐ€ ํด๋ž˜์Šค Y์˜ ์ผ๋ถ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํด๋ž˜์Šค X๊ฐ€ ํด๋ž˜์Šค Y์— ์ข…์†์„ฑ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. ์ข…์†์„ฑ ์ฃผ์ž…์„ ์‚ฌ์šฉํ•˜๋ฉด ํด๋ž˜์Šค ์™ธ๋ถ€์— ์ข…์† ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ํ•ด๋‹น ๊ฐœ์ฒด๋ฅผ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํด๋ž˜์Šค์— ๋…ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ข…์† ๊ฐœ์ฒด์˜ ์ƒ์„ฑ ๋ฐ ๋ฐ”์ธ๋”ฉ์€ ํ•ด๋‹น ๊ฐœ์ฒด์— ์ข…์†๋œ ํด๋ž˜์Šค ์™ธ๋ถ€๋กœ ์ด๋™๋ฉ๋‹ˆ๋‹ค. ์ข…์†์„ฑ ์ฃผ์ž… ํŒจํ„ด์—๋Š” ์„ธ ๊ฐ€์ง€ ์œ ํ˜•์˜ ํด๋ž˜์Šค๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  1. ํด๋ผ์ด์–ธํŠธ ํด๋ž˜์Šค์— ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.
  2. ํด๋ผ์ด์–ธํŠธ ํด๋ž˜์Šค - ์„œ๋น„์Šค ํด๋ž˜์Šค์— ์˜์กดํ•˜๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.
  3. ์ธ์ ํ„ฐ ํด๋ž˜์Šค๋Š” ์„œ๋น„์Šค ํด๋ž˜์Šค ๊ฐ์ฒด๋ฅผ ํด๋ผ์ด์–ธํŠธ ํด๋ž˜์Šค์— ์ฃผ์ž…ํ•˜๋Š” ํด๋ž˜์Šค์ด๋‹ค.

์˜์กด์„ฑ ์ฃผ์ž…์˜ ์œ ํ˜•

์ข…์†์„ฑ ์ฃผ์ž…์—๋Š” ์„ธ ๊ฐ€์ง€ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  1. ์ƒ์„ฑ์ž ์ฃผ์ž… - ์ƒ์„ฑ์ž ์ฃผ์ž…์ด ๋ฐœ์ƒํ•˜๋ฉด ์ธ์ ํ„ฐ๋Š” ํด๋ผ์ด์–ธํŠธ ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค(์ข…์†์„ฑ)๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  2. Setter ์ฃผ์ž… - ์ด ์œ ํ˜•์˜ ์ฃผ์ž…(์†์„ฑ ์ฃผ์ž…์ด๋ผ๊ณ ๋„ ํ•จ)์—์„œ ์ธ์ ํ„ฐ๋Š” ํด๋ผ์ด์–ธํŠธ ํด๋ž˜์Šค์˜ ๊ณต์šฉ ์†์„ฑ์„ ํ†ตํ•ด ์ข…์†์„ฑ์„ ๋…ธ์ถœํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ฉ”์„œ๋“œ ์ฃผ์ž… - ์ด ์œ ํ˜•์˜ ์ฃผ์ž…์—์„œ ํด๋ผ์ด์–ธํŠธ ํด๋ž˜์Šค๋Š” ์ข…์†์„ฑ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”์„œ๋“œ๋ฅผ ์„ ์–ธํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ ํ„ฐ๋Š” ์ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ ํด๋ž˜์Šค์— ์ข…์†์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์˜์กด์„ฑ ์ฃผ์ž…์˜ ์ด์ 

์ข…์†์„ฑ ์ฃผ์ž…์„ ๊ตฌํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ.
  • ๋ฆฌํŒฉํ† ๋ง์ด ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค.
  • ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ.
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION