Lahendatud: lähtesta loend väärtustega

Viimane uuendus: 09/11/2023

Muidugi, alustame artikli kirjutamist.

Javas on loendi väärtustega initsialiseerimine arendajate jaoks sageli vajalik toiming. Tihti on näha, et Java programmeerijad peavad tegelema selliste toimingutega nagu loendi loomine, sellele väärtuste lisamine ja seejärel loendiga toimingute tegemine. See protsess võib olla väsitav, kui seda ei tehta õigesti. Seetõttu võib loendite väärtustega initsialiseerimise tõhusate viiside mõistmine programmeerimisülesandeid oluliselt sujuvamaks muuta.

Artikkel pakub arusaama, kuidas lähtestada Java väärtustega loendeid erinevate meetodite ja teekide abil.

Otsene initsialiseerimine

Listklassi Add() meetodi abil saab loendit väärtustega initsialiseerida kõige lihtsamini . See meetod lisab loendi lõppu uue elemendi.

Vaatleme näidet:

List<String> list = new ArrayList<>();

list.add("Element1");
list.add("Element2");
list.add("Element3");

Uus loend sisaldab nüüd kolme elementi Element1, Element2 ja Element3.

Meetod ei ole aga tõhus, kui tuleb lisada suur hulk elemente. Tõhusamaid lahendusi käsitletakse allpool.

Arrays.asList() kasutamine

Java pakub oma java.util paketist Arrays klassi . See klass sisaldab erinevaid meetodeid massiivide manipuleerimiseks. Selle klassi asList() meetod on staatiline ja tagastab fikseeritud suurusega loendi, mille taga on määratud massiiv.

Saame näite abil aru:

List<String> list = Arrays.asList("Element1", "Element2", "Element3");

Meetod on mugav ja tõhus, kuid tagastatud loend on muutumatu. Kui proovite loendist elemente lisada või eemaldada, kuvatakse erand java.lang.UnsupportedOperationException.

Kogude kasutamine

java.util paketi kollektsioonide klass on utiliidiklass, millel on staatilised meetodid toimingute tegemiseks kollektsiooniraamistikku rakendavate klasside objektidega. On olemas meetod ncopies(int n, Object obj) , mis tagastab muutumatu loendi, mis sisaldab määratud arvu koopiaid määratud objektist.

Meetodi kasutamise näide:

List<String> list = Collections.nCopies(3, "Element");

Selle meetodi puhul lähtestatakse kõik loendi elemendid määratud objektiks, seega on kõik loendi elemendid samad.

Java 8 Streami kasutamine

Java 8 tutvustas uut Stream API-t , mida saab kasutada loendi initsialiseerimiseks väärtustega vaid mõne koodireaga.

List<String> list = Stream.of("Element1", "Element2", "Element3")
                          .collect(Collectors.toList());

Selles koodis tagastab meetod Stream.of() järjestikuse järjestatud voo, mille elemendid on määratud väärtused. Meetod collection () on terminali operatsioon, mis kogub tulemuse erinevatesse andmestruktuuridesse ja siin kogub vooelemendid loendisse.

Järeldus

Nii et need on mõned meetodid Java väärtustega loendi lähtestamiseks. Java-loendite käsitlemisel on kasutajatel sõltuvalt konteksti nõuetest mitmesuguseid võimalusi. Näiteks sama elemendi paljude koopiatega fikseeritud suurusega loendi loomiseks saab kasutada klassi Collections meetodit ncopies. Massiividega töötamisel tuleb kasuks Arrays.asList(). Kasutajatele, kes soovivad kasutada Java 8 funktsioone, pakub Stream API lühikest süntaksit loenditoimingute sujuvamaks muutmiseks. Nagu alati, sõltub õige meetodi valik suuresti projekti konkreetsetest vajadustest ja piirangutest.

Seonduvad postitused: