JavaRush /Java блог /Random UA /Кава-брейк #144. Як перетворити масив на List (ArrayList)...

Кава-брейк #144. Як перетворити масив на List (ArrayList) на Java. Впровадження залежностей у Java

Стаття з групи Random UA

Як перетворити масив на List (ArrayList) на Java

Джерело: Rrtutors Сьогодні ви дізнаєтеся про різні способи перетворення масиву в List (ArrayList) і ознайомитеся з прикладами коду в кожному з них. Кава-брейк #144.  Як перетворити масив на List (ArrayList) на Java.  Впровадження залежностей у Java - 1Хоча масиви прості та зручні у використанні, вони мають безліч обмежень, наприклад, фіксований розмір. Це ускладнює додавання нового елемента на початку та перестановку елементів. Завдяки Collections Framework ми можемо реалізувати список (List), набір (Set) та чергу (Queue) у різний спосіб. Наприклад, використовуючи універсальний та гнучкий список масивів (ArrayList). При перетворенні масиву на Java можна використовувати три методи. Ці методи включають:
  1. Наївний чи метод грубої сабо (Brute Force Method).
  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()

Оскільки списки є частиною пакета Collection у Java, можна перетворити масив на список за допомогою методу 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);

    }

}
Висновок:
Array: [peas, tomatoes, melons water] List: [peas, tomatoes, melons water]

Впровадження залежностей у Java

Джерело: Medium У цій публікації ви дізнаєтеся, що таке впровадження залежностей у Java, де воно застосовується і які переваги надає розробнику. Кава-брейк #144.  Як перетворити масив на List (ArrayList) на Java.  Впровадження залежностей у Java - 2Використання залежностей (Dependency Injection, DI) — це процес надання зовнішньої залежності програмному компоненту. Використання залежностей спрямоване на поділ проблем створення об'єктів та їх використання. Принцип застосування передбачає, що об'єкт чи функція, які хочуть використовувати цей сервіс, не повинні знати, як його створювати. Натомість приймаючий "клієнт" (об'єкт чи функція) отримує свої залежності від зовнішнього коду ("інжектора"), про який він не знає. Ось наочний приклад. Коли клас X використовує деякі функції класу Y, ми говоримо, що клас X має залежність від класу Y. Використання залежностей дозволяє створювати залежні об'єкти поза класом і надає ці об'єкти класу різними способами. У разі створення і прив'язка залежних об'єктів винесені межі класу, що від них залежить.
  1. Клас обслуговування (Service Class), що надає послуги класу клієнта.
  2. Клас клієнта (Client Class) – клас, який залежить від класу обслуговування.
  3. Клас інжектора (Injector Class) - клас, який впроваджує об'єкт класу обслуговування клас клієнта.

Типи застосування залежностей

Існує три типи впровадження залежностей:
  1. Використання конструктора (Constructor Injection) - при впровадженні конструктора інжектор надає послугу (залежність) через конструктор клієнтського класу.
  2. Використання сеттера (Setter Injection) - у цьому типі застосування (також відомому як використання якості) інжектор надає залежність через загальнодоступну якість клієнтського класу.
  3. Впровадження методу (Method Injection) — у цьому типі застосування клієнтський клас реалізує інтерфейс, який оголошує метод(и) надання залежності. Інжектор використовує цей інтерфейс надання залежності клієнтському класу.

Переваги застосування залежностей

Реалізація застосування залежностей дає нам такі переваги:
  • Повторне використання коду.
  • Простота рефакторингу.
  • Простота тестування.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ