JavaRush /Java блогу /Random-KY /Кофе-брейк №144. Java тилинде массивди тизмеге (ArrayList...

Кофе-брейк №144. Java тилинде массивди тизмеге (ArrayList) кантип айландыруу керек. Javaдагы көз карандылык инъекциясы

Группада жарыяланган

Java'да массивди тизмеге (ArrayList) кантип айландыруу керек

Булак: Rrtutors Бүгүн сиз массивди Тизмеге (ArrayList) которуунун ар кандай жолдору менен таанышасыз жана алардын ар бириндеги code мисалдарын карайсыз. Кофе-брейк №144.  Java тorнде массивди тизмеге (ArrayList) кантип айландыруу керек.  Javaдагы көз карандылык инъекциясы - 1Массивдер жөнөкөй жана колдонууга оңой болгону менен, алардын белгиленген өлчөмү сыяктуу көптөгөн чектөөлөрү бар. Бул башында жаңы элементти кошууну жана элементтерди кайра уюштурууну кыйындатат. Collections Framework аркасында биз 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() ыкмасын колдонуу менен массив Тизме конструкторуна конструкторго параметр катары өткөрүлөт. Бул жерде массивди тизмеге айландыруу үчүн төмөнкү кадамдарды аткарышыңыз керек:
  • Массивди алыңыз.
  • Тизме конструкторунда массивди параметр катары өткөрүп тизме түзүңүз.
  • Толук тизмени кайтарыңыз.
Бул жерде мөмөлөрдүн массивдерин тизмеге айландыруу үчүн 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дагы көз карандылык инъекциясы

Булак: Орто Бул постто сиз Java'да көз карандылык инъекциясы эмне экенин, ал кайда колдонуларын жана ал иштеп чыгуучуга кандай пайда берерин билесиз. Кофе-брейк №144.  Java тorнде массивди тизмеге (ArrayList) кантип айландыруу керек.  Javaдагы көз карандылык инъекциясы - 2Көз карандылык инъекциясы (DI) программалык камсыздоонун компонентине тышкы көз карандылыкты камсыз кылуу процесси. Көз карандылык инъекциясы an objectтерди түзүү көйгөйлөрүн аларды колдонуудан бөлүүгө багытталган. Кыстаруу принциби берилген кызматты колдонууну каалаган an object же функция аны кантип түзүүнү билүүгө муктаж эмес деп болжолдойт. Анын ордуна, кабыл алуучу "кардар" (an object же функция) өзүнүн көз карандылыгын өзү билбеген тышкы codeдон ("инжектор") алат. Бул жерде жакшы мисал. X классы Y классынын кээ бир функцияларын колдонгондо, биз X классы Y классына көз каранды деп айтабыз. Көз карандылык инъекциясы класстан тышкары көз каранды an objectтерди түзүүгө мүмкүндүк берет жана ал an objectтерди класска ар кандай жолдор менен ачып берет. Бул учурда, көз каранды an objectтерди түзүү жана байланыштыруу аларга көз каранды болгон класстын сыртына жылдырылат. Көз карандылыкты киргизүү үлгүсү класстардын үч түрүн камтыйт:
  1. Кардар классына кызмат көрсөтүүчү кызмат классы.
  2. Кардар классы - тейлөө классына көз каранды класс.
  3. Injector Class - бул кызмат классынын an objectисин кардар классына сайган класс.

Көз карандылыктын түрлөрү

Көз карандылыктын үч түрү бар:
  1. Конструктор инъекциясы - Конструктор инъекциясы болгондо, инжектор кардар классынын конструктору аркылуу кызматты (көз карандылыкты) камсыз кылат.
  2. Сетер инъекциясы - инъекциянын бул түрүндө (мүлк инъекциясы деп да белгилүү), инжектор кардар классынын коомдук менчиги аркылуу көз карандылыкты ачып берет.
  3. Метод инъекциясы - Инъекциянын бул түрүндө кардар классы көз карандылыкты камсыз кылуу үчүн метод(дарды) жарыялаган интерфейсти ишке ашырат. Инжектор бул интерфейсти кардар классына көз карандылыкты камсыз кылуу үчүн колдонот.

Көз карандылык инъекциясынын артыкчылыктары

Көз карандылыкты киргизүү бизге төмөнкү артыкчылыктарды берет:
  • Кодду кайра колдонуу.
  • Рефакторингдин оңойлугу.
  • Сыноонун жөнөкөйлүгү.
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION