JavaRush /Java Blog /Random-TK /Kofe arakesmesi # 144. Bir massiwini Java-da Sanawa (Arra...

Kofe arakesmesi # 144. Bir massiwini Java-da Sanawa (ArrayList) nädip öwürmeli. Java-da baglylyk sanjymy

Toparda çap edildi

Toplumy Java-da Sanawa (ArrayList) nädip öwürmeli

Çeşme: Rrtutors Bu gün bir massiwi Sanawa (ArrayList) öwürmegiň dürli ýollary barada öwrenersiňiz we olaryň hersinde kod mysallaryna göz aýlarsyňyz. Kofe arakesmesi # 144.  Bir massiwini Java-da Sanawa (ArrayList) nädip öwürmeli.  Java-da baglylyk sanjymy - 1Toplumlar ýönekeý we ulanmak aňsat bolsa-da, kesgitlenen ululyk ýaly köp çäklendirmeleri bar. Bu başda täze element goşmagy we elementleri täzeden tertipleşdirmegi kynlaşdyrýar. Kolleksiýa çarçuwasynyň kömegi bilen sanawy, seti we nobaty dürli usullar bilen amala aşyryp bileris. Mysal üçin, ähliumumy we çeýe massiwleriň sanawyny (ArrayList) ulanmak. Java-da bir massiw öwrülende ulanyp boljak üç usul bar. Bu usullar aşakdakylary öz içine alýar:
  1. Iveönekeý ýa-da zalym güýç usuly.
  2. Arrays.asList () usuly .
  3. Kolleksiýalar.addAll () usuly .

Sada ýa-da zalym güýç usulyny ulanmak

Bu usulda boş massiwden sanaw döredilýär we massiwiň her elementi birin-birin goşulýar. Usul aşakdakylary ýerine ýetirenden soň işleýär:
  • Toplumy alyň.
  • Boş sanaw dörediň.
  • Toplumdaky elementleriň üstünden aýlaň.
  • Indi her elementi massiwde goşuň.
  • Doly sanawy yzyna gaýtaryň.
Bu mysal miweleriň köpüsini miweleriň sanawyna öwürýär:
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 () usuly

Arrays.asList () usulyny ulanyp , bir massiw konstruktoryň parametri hökmünde sanaw konstruktoryna geçirilýär. Bir massiwi bu ýere sanawa öwürmek üçin aşakdaky ädimleri ýerine ýetirmeli:
  • Toplumy alyň.
  • Sanawyň konstruktorynda parametr hökmünde geçip, sanaw dörediň.
  • Doly sanawy yzyna gaýtaryň.
Ine , köp sanly miwäni sanawa öwürmek üçin Arrays.asList () usulyny ulanmagyň mysaly:
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);

    }

}

Kolleksiýalar.addAll () usuly

Sanawlar Java-da Kolleksiýa bukjasynyň bir bölegi bolansoň, bir kolleksiýany Collections.addAll () usuly bilen sanawa öwrüp bilersiňiz . Bu usul aşakdaky ädimleri ulanyp, bir sanawy sanawa öwürýär:
  • Bir massiw alýarys.
  • Boş sanaw dörediň.
  • Geliň, kolleksiýalary.addAll () usuly bilen sanawa öwüreliň .
  • Sanawy gaýtaryp berýäris.
Mysal:
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);

    }

}
Netije:
Array: [nohut, pomidor, suw gawunlary] Sanaw: [nohut, pomidor, suw gawunlary]

Java-da baglylyk sanjymy

Çeşme: Orta Bu ýazgyda, Java-da garaşlylyk sanjymynyň nämedigini, nirede ulanylýandygyny we döredijä nähili peýda getirýändigini öwrenersiňiz. Kofe arakesmesi # 144.  Bir massiwini Java-da Sanawa (ArrayList) nädip öwürmeli.  Java-da baglylyk sanjymy - 2Baglylyk sanjymy (DI) programma üpjünçiliginiň bir bölegine daşarky garaşlylygy üpjün etmek prosesi. Baglylyk sanjymy, obýektleri döretmek meselesini ulanmakdan aýyrmagy maksat edinýär. Durmuşa geçirmek ýörelgesi, berlen hyzmaty ulanmak isleýän bir obýektiň ýa-da funksiýanyň, ony nädip döretmelidigini bilmegiň zerurlygynyň ýokdugyny göz öňünde tutýar. Muňa derek, alýan "müşderi" (obýekt ýa-da funksiýa), garaşly bolmadyk daşarky koddan ("injektor") garaşlylygyny alýar. Ine gowy mysal. “X” synpy “Y” synpyň käbir funksiýalaryny ulananda, “X” synpyň “Y.” synpyna baglylygy bar diýýäris, baglylyk sanjymy synpyň daşyndaky garaşly zatlary döretmäge mümkinçilik berýär we şol zatlary dürli usullar bilen synpa açýar. Bu ýagdaýda garaşly obýektleriň döredilmegi we baglanyşygy, olara bagly synpyň daşynda göçürilýär. Baglylyk sanjym görnüşi üç görnüşi öz içine alýar:
  1. Müşderi synpyna hyzmatlar berýän Hyzmat synpy.
  2. Müşderi synpy - hyzmat synpyna bagly synp.
  3. Injektor synpy, hyzmat synp obýektini müşderi synpyna sanjym edýän synpdyr.

Baglylyk sanjymynyň görnüşleri

Baglylyk sanjymynyň üç görnüşi bar:
  1. Konstruktor sanjymy - Konstruktor sanjymy ýüze çykanda, injektor müşderi synpynyň konstruktorynyň üsti bilen hyzmat (garaşlylyk) üpjün edýär.
  2. Setter sanjymy - sanjymyň bu görnüşinde (emläk sanjymy hem diýilýär), injektor müşderi synpynyň umumy emlägine baglylygy ýüze çykarýar.
  3. Usul sanjymy - sanjymyň bu görnüşinde, müşderi synpy garaşlylygy üpjün etmek üçin usul (lar) yglan edýän interfeýsi amala aşyrýar. Injektor, müşderi synpyna garaşlylygy üpjün etmek üçin bu interfeýsi ulanýar.

Baglylyk sanjymynyň peýdalary

Baglylyk sanjymyny amala aşyrmak bize aşakdaky artykmaçlyklary berýär:
  • Kod gaýtadan ulanmak
  • Täzeden işlemegiň aňsatlygy.
  • Synagyň aňsatlygy.
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION