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