JavaRush /Java Blog /Random-TK /Kofe arakesmesi # 129 LinkedList bilen ArrayList arasynda...

Kofe arakesmesi # 129 LinkedList bilen ArrayList arasynda näme tapawut bar? Java 19-da täze aýratynlyklar gelýär

Toparda çap edildi

LinkedList bilen ArrayList arasynda näme tapawut bar?

Çeşme: Rrtutors.com Java programmirlemek üçin täze bolsaňyz, kolleksiýalar bilen işlän wagtyňyz haýsysyny ulanmalydygyňyzy bilmelisiňiz: LinkedList ýa-da ArrayList. Bu synplaryň ikisi-de meňzeş funksiýalary ýerine ýetirýär, şonuň üçin işiňizde haýsysyny ulanmalydygyny kesgitlemek käwagt kyn bolup biler. Bu ýazgyda iki synpyň arasyndaky tapawudy kesgitläris we nirede we haçan ulanmalydygyny ara alyp maslahatlaşarys. Kofe arakesmesi # 129  LinkedList bilen ArrayList arasynda näme tapawut bar?  Java 19 - 1-de täze aýratynlyklar gelýär

Java-da ArrayList bilen LinkedList-iň arasyndaky tapawut

ArrayList we LinkedList-i kriteriýalaryna görä deňeşdireliň:

Manipulýasiýa

Iki ýagdaýda-da massiw manipulýasiýasynyň tizliginde tapawut bar. “ArrayList”, “LinkedList” -e garanyňda massiwleri dolandyrmakda has haýal. Bu, “LinkedList” -iň düwün esaslydygy we birneme üýtgemegi talap etmeýändigi bilen baglanyşykly.

Giriş

ArrayList maglumatlary has çalt saklaýar we alýar. Beýleki tarapdan, LinkedList maglumatlary has çalt işlemegi goldaýar.

Durmuşa geçirmek

“ArrayList” diňe sanawy ýerine ýetirýär, “LinkedList” bolsa sanawy we nobaty ýerine ýetirýär. “LinkedList” köplenç nobat hökmünde ulanylýar.

Içerki durmuşa geçirmek

“ArrayList” elementlerini dinamiki massiwde saklaýar, “LinkedList” bolsa iki gezek baglanyşdyrylan sanawy ulanýar.

ArrayList we LinkedList haçan ulanmaly?

“ArrayList” diňe okalýan kolleksiýa bilen işlemek üçin amatly, “LinkedList” bolsa goşmak we pozmak ýaly dürli maglumatlary üýtgetmäge mümkinçilik berýän ýygyndy bilen işlemek üçin amatly.

LinkedList mysaly:

import java.util.LinkedList;

import java.util.List;

public class LinkeddExample {

    public static void main(String[] args) {

        List<String> myGroup=new LinkedList<>();

        myGroup.add("Pohekar");

        myGroup.add("Sumedh");

        myGroup.add("Nikir");

        System.out.println("Create Group: "+myGroup);

        myGroup.remove("Pohekar");

        System.out.println("Remove Group element: "+myGroup);

        myGroup.set(1,"Niha");

        System.out.println("Modify Group: "+myGroup);

    }

}

ArrayList mysaly:

import java.util.ArrayList;

import java.util.List;

public class ArrayListExca {

    public static void main(String[] args) {

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

        Pro.add("PythonPro");

        Pro.add("JavaPro");

        Pro.add("C#Pro");



        System.out.println("Traversing ArrayList...");

        for(String s:Pro){

            System.out.println(s);


    }

    }

}

JDK 19: Java 19-da täze aýratynlyklar gelýär

Çeşme: “InfoWorld” wirtual sapaklar, wyklýuçatel jümlelerine gabat gelýän nagyş, wektor API we Linux / RISC-V porty, gysga möhletli goldaw bilen diliň täze çykan Java 19-da sentýabr aýynda gelýär. Mundan başga-da, Java Development Kit 19 ýaňy-ýakynda başga bir aýratynlygy hödürledi: maglumat nawigasiýasy we gaýtadan işlemek üçin Recordazgy nagyşlaryny gözden geçirmek. Java dilini kämilleşdirmek boýunça dowam etdirilýän meýilnamanyň bir bölegi hökmünde JDK 19 ýa-da ýönekeý Java 19, generikadan başlap, obýektlere baha bermek üçin köp sanly aýratynlygy öz içine alýar. JDK 19, 2022-nji ýylyň 22-nji martynda hödürlenen JDK 18-den soň indiki täzelenme bolar. Java-yň adaty wersiýasy her alty aýdan bir gezek çykýar. OpenJDK döredijiler JDK 19-nyň resmi goýberiş tertibini çap etdiler. Oňa görä, durnukly çykaryş 20-nji sentýabrda peýda bolar. Ondan öň işläp düzüjiler 9-njy iýunda we 21-nji iýulda çykjak deslapky binalar bilen tanşyp bilerler. Dalaşgärler 11-nji awgustda we 25-nji awgustda çap ediler. JDK 19-yň irki gurluşlary jdk.java.net/19 sahypasynda elýeterlidir . JDK 19-da hödürlenýän aýratynlyklar:
  • Предварительный просмотр шаблонов записей для разбора значений записей. Шаблоны записей и шаблоны типов могут быть вложены друг в друга, чтобы обеспечить декларативную, мощную и компонуемую форму навигации и обработки данных. Идея этой функции состоит в том, чтобы добавить расширение сопоставления шаблонов для выражения более сложных составных requestов данных без изменения синтаксиса or семантики шаблонов типов. Это предложение основано на сопоставлении шаблонов для instanceof, представленном в JDK 16 в марте 2021 года. Далее, в будущих планах может потребоваться расширение шаблонов записей с помощью таких возможностей, How шаблоны массивов и vararg-шаблоны. Запись шаблонов является частью Project Amber, направленного на изучение и развитие небольших функций Java, ориентированных на производительность.

  • Предварительный просмотр чужой функции и API памяти. Он представит API, с помощью которого Java-программы смогут взаимодействовать с codeом и данными вне среды выполнения Java.

    Благодаря эффективному вызову внешних функций (codeа вне среды выполнения Java) и безопасному доступу к внешней памяти (памяти, не управляемой JVM) API позволит программам Java вызывать собственные библиотеки и обрабатывать собственные данные без Howой-либо опасности для Java Native Interface (JNI).

  • Предварительный просмотр виртуальных потоков (virtual threads). Это предложение представляет собой облегченные потоки, которые значительно сокращают усorя по написанию, обслуживанию и наблюдению за высокопроизводительными параллельными applicationsми. Идея предложения состоит в обеспечении возможности масштабирования serverных приложений, написанных в простом стиле “поток на request” (thread-per-request) с оптимальным использованием оборудования. Это позволит внедрять в code, использующий java.langThread API, виртуальные потоки с минимальными изменениями, а также устранять неполадки, выполнять отладку и профorрование виртуальных потоков с помощью существующих инструментов JDK.

  • Третья предварительная version сопоставления шаблонов для выражений и операторов switch. Она расширяет сопоставление шаблонов (pattern matching) до switch, чтобы позволить тестировать выражение по ряду шаблонов, каждый из которых имеет определенное действие. Благодаря этому сложные requestы, ориентированные на данные, могут быть выражены лаконично и безопасно. Эта функция ранее была предварительно представлена ​​в JDK 17 и JDK 18. В третьей предварительной версии будут добавлены улучшения, включая замену защищенных шаблонов when предложениями в switch-блоках. Идея предложения состоит в расширении выразительности и применимости switch-выражений и операторов.

  • Wektor API-iň dördünji inkubasiýasy, iş wagty goldaýan prosessor arhitekturasy boýunça optimal wektor görkezmelerine ygtybarly ýygnan wektor hasaplamalaryny görkezer. Bu ekwiwalent skalar hasaplamalaryndan has gowy öndürijilik üpjün eder. Täze API ulanýanlar, HotSpot-yň awtowektorizatoryny ulanyp, Java-da çylşyrymly wektor algoritmlerini ýazyp bilerler, ýöne wektorizasiýany has öňünden we ygtybarly edýän adaty model bilen. Vektor API öň JDK 16, JDK 17 we JDK 19-da inkubasiýa edilipdi.

    Wektor API-ä başga bir goşundy hökmünde bir bitiň sanyny sanamak, bit tertibini üýtgetmek, bit gysyş we giňeltmek ýaly amallary öz içine almak üçin bitwise integral bir taraplaýyn amallar giňeldiler.

  • Linux / RISC-V porty bilen , Java dil gurallarynyň giň topary tarapyndan eýýäm goldanýan apparat görkezme toplumy goldawyny alar. RISC-V baglanyşykly ISA-laryň maşgalasy. Linux / RISC-V porty diňe wektor görkezmelerini öz içine alýan 64 bitli umumy maksatly ISA RV64GV RISC-V konfigurasiýasyny goldar.

    Port aşakdaky HotSpot wirtual maşyn opsiýalaryny goldaýar: şablon terjimeçisi, JIT düzüjisi C1 (müşderi), JIT düzüjisi C2 (serwer) we ZGC we Shenandoah ýaly häzirki esasy zibil ýygnaýjylar.

JDK 18 ýaly, JDK 19 hem alty aýlyk goldaw bilen gysga möhletli çykarylar. Öňki goýberiş, JDK 17, birnäçe ýyllap kepillendirilen goldaw bilen LTS çykaryldy. 2021-nji ýylyň 14-nji sentýabrynda tanyşdyryldy.
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION