JavaRush /Блоги Java /Random-TG /Кофе-брейк №144. Чӣ тавр массивро ба рӯйхат (ArrayList) д...

Кофе-брейк №144. Чӣ тавр массивро ба рӯйхат (ArrayList) дар Java табдил додан мумкин аст. Тазриқи вобастагӣ дар Java

Дар гурӯҳ нашр шудааст

Чӣ тавр массивро ба рӯйхат (ArrayList) дар Java табдил додан мумкин аст

Сарчашма: Rrtutors Имрӯз шумо дар бораи роҳҳои гуногуни табдил додани массив ба Рӯйхат (ArrayList) маълумот хоҳед гирифт ва ба мисолҳои рамзӣ дар ҳар яки онҳо нигаред. Кофе-брейк №144.  Чӣ тавр массивро ба рӯйхат (ArrayList) дар Java табдил додан мумкин аст.  Тазриқи вобастагӣ дар Java - 1Гарчанде ки массивҳо оддӣ ва осон барои истифода мебошанд, онҳо маҳдудиятҳои зиёд доранд, ба монанди андозаи собит. Ин дар ибтидо илова кардани як унсури нав ва аз нав танзимкунии элементҳоро мушкил мекунад. Бо шарофати чаҳорчӯбаи коллексияҳо, мо метавонем Рӯйхат, Маҷмӯа ва Навбатро бо роҳҳои гуногун амалӣ кунем. Масалан, бо истифода аз рӯйхати универсалӣ ва тағйирпазири массивҳо (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 мебошанд, шумо метавонед бо истифода аз усули 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.  Чӣ тавр массивро ба рӯйхат (ArrayList) дар Java табдил додан мумкин аст.  Тазриқи вобастагӣ дар Java - 2Тазриқи вобастагӣ (DI) раванди таъмини вобастагии беруна ба ҷузъи нармафзор мебошад. Ҳадафи тазриқи вобастагӣ ҷудо кардани мушкилоти эҷоди an objectҳо аз истифодаи онҳо мебошад. Принсипи дохилкунӣ тахмин мекунад, ки an object ё функсияе, ки мехоҳад хидмати додашударо истифода барад, лозим нест, ки чӣ тавр сохтани онро донад. Ба ҷои ин, "мизоҷ"-и қабулкунанда (an object ё функсия) вобастагии худро аз codeи беруна ("инжектор"), ки аз он огоҳ нест, мегирад. Ана як мисоли хуб. Вақте ки синфи X баъзе функсияҳои синфи Y-ро истифода мебарад, мо мегӯем, ки синфи X аз синфи Y вобастагӣ дорад. Тазриқи вобастагӣ ба шумо имкон медиҳад, ки an objectҳои вобастаро берун аз синф эҷод кунед ва ин an objectҳоро бо роҳҳои гуногун ба синф нишон медиҳад. Дар ин ҳолат, эҷод ва пайванди an objectҳои вобаста берун аз синфе, ки аз онҳо вобаста аст, интиқол дода мешавад. Намунаи тазриқи вобастагӣ се намуди синфҳоро дар бар мегирад:
  1. Синфи хидматрасонӣ, ки ба синфи муштарӣ хидмат мерасонад.
  2. Синфи муштарӣ - синфе, ки аз синфи хидмат вобаста аст.
  3. Синфи Injector синфест, ки an objectи синфи хидматрасониро ба синфи муштарӣ ворид мекунад.

Намудҳои тазриқи вобастагӣ

Се намуди тазриқи вобастагӣ вуҷуд дорад:
  1. Тазриқи конструктор - Вақте ки тазриқи конструктор рух медиҳад, инжектор тавассути созандаи синфи муштарӣ хидмат (вобастагӣ) медиҳад.
  2. Injection Setter - Дар ин намуди сӯзандору (инчунин бо номи тазриқи амвол маълум аст), инжектор вобастагӣро тавассути моликияти ҷамъиятии синфи муштарӣ фош мекунад.
  3. Усули тазриќ - Дар ин навъи тазриқ, синфи муштарӣ интерфейсеро амалӣ мекунад, ки усул(ҳо)-ро барои таъмини вобастагӣ эълон мекунад. Инжектор ин интерфейсро барои таъмини вобастагӣ ба синфи муштарӣ истифода мебарад.

Манфиатҳои сӯзандоруи вобастагӣ

Татбиқи тазриқи вобастагӣ ба мо манфиатҳои зеринро медиҳад:
  • Истифодаи такрории code.
  • Осонии рефакторинг.
  • Осонии санҷиш.
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION