JavaRush /Блоги Java /Random-TG /Кофе-брейк №129. Фарқи байни LinkedList ва ArrayList чист...

Кофе-брейк №129. Фарқи байни LinkedList ва ArrayList чист? Хусусиятҳои нав дар Java 19 меоянд

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

Фарқи байни LinkedList ва ArrayList чист?

Сарчашма: Rrtutors.com Агар шумо бо барномасозии Java нав бошед, шумо бояд дар ҳайрат бошед, ки ҳангоми кор бо коллексияҳо кадомаш беҳтар аст: LinkedList ё ArrayList. Ҳардуи ин синфҳо вазифаҳои якхеларо иҷро мекунанд, бинобар ин баъзан қарор кардан душвор аст, ки кадоме аз онҳо дар кори шумо беҳтар аст. Дар ин паём, мо фарқиятҳои байни ду синфро муайян мекунем ва дар куҷо ва кай истифода бурдани онҳоро муҳокима хоҳем кард. Кофе-брейк №129.  Фарқи байни LinkedList ва ArrayList чист?  Хусусиятҳои нав дар Java 19 - 1 меоянд

Тафовут байни ArrayList ва LinkedList дар Java

Биёед ArrayList ва LinkedList-ро дар асоси меъёрҳои онҳо муқоиса кунем:

Манипуляция

Дар ҳарду ҳолат дар суръати коркарди массив фарқият вуҷуд дорад. ArrayList нисбат ба LinkedList коркарди массивҳоро сусттар мекунад. Ин ба он вобаста аст, ки LinkedList ба гиреҳ асос ёфтааст ва тағирёбии каме каме талаб намекунад.

Дастрасӣ

ArrayList маълумотро тезтар нигоҳ медорад ва мегирад. Аз тарафи дигар, LinkedList коркарди зудтари маълумотро дастгирӣ мекунад.

Амалй

ArrayList танҳо рӯйхатро амалӣ мекунад, дар ҳоле ки LinkedList ҳам рӯйхат ва ҳам навбатро амалӣ мекунад. LinkedList низ аксар вақт ҳамчун навбат истифода мешавад.

Татбиқи дохилӣ

ArrayList унсурҳои худро дар массиви динамикӣ нигоҳ медорад, дар ҳоле ки LinkedList рӯйхати дукаратаро истифода мебарад.

ArrayList ва LinkedList кай бояд истифода шавад?

ArrayList барои кор бо маҷмӯаи танҳо барои хондан мувофиқ аст, дар ҳоле ки LinkedList барои кор бо коллексия мувофиқ аст, ки имкон медиҳад тағйироти гуногуни додаҳо, аз қабor илова ва нест карда шавад.

Намунаи LinkedList:

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:

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 меоянд

Сарчашма: Риштаҳои виртуалии InfoWorld , мувофиқати намуна барои изҳороти гузариш, API векторӣ ва порти Linux/RISC-V ҳама дар моҳи сентябр дар Java 19, нашри нави забон бо дастгирии кӯтоҳмуддат меоянд. Илова бар ин, Java Development Kit 19 чанде қабл хусусияти дигарро муаррифӣ кард: пешнамоиши намунаҳои сабт барои паймоиш ва коркарди додаҳо. Ҳамчун як қисми нақшаи ҷорӣ оид ба такмил додани забони Java, JDK 19 ё танҳо Java 19 дорои потенсиали дорои шумораи зиёди хусусиятҳо мебошад, аз умумӣ то an objectҳои арзишманд. JDK 19 навсозии навбатӣ пас аз JDK 18 хоҳад буд, ки 22 марти соли 2022 муаррифӣ шудааст. Версияи стандартии Java ҳар шаш моҳ бароварда мешавад. Таҳиягарони OpenJDK ҷадвали барориши расмии JDK 19-ро нашр карданд. Мувофиқи он, релизи устувор 20 сентябр пайдо мешавад. Пеш аз ин, таҳиягарон метавонанд бо сохторҳои пешакӣ, ки 9 июн ва 21 июл бароварда мешаванд, шинос шаванд. Номзадҳо 11 август ва 25 август нашр мешаванд. Сохтани дастрасии барвақти JDK 19 дар jdk.java.net/19 дастрас аст . Хусусиятҳое, ки дар JDK 19 пешниҳод шудаанд, инҳоро дар бар мегиранд:
  • Барои таҳлor арзишҳои сабт қолабҳои сабтро пешнамоиш кунед . Шаблонҳои сабт ва қолабҳои навъи метавонанд лона гузошта шаванд, то шакли декларативӣ, пурқувват ва муттаҳидшавандаи паймоиш ва коркарди маълумотро таъмин кунанд. Идеяи паси ин хусусият илова кардани тамдиди намунавӣ барои ифода кардани дархостҳои мураккабтари маълумоти мураккаб бидуни тағир додани синтаксис ё семантикаи намунаҳои намуд мебошад. Ин пешниҳод ба намунаи мувофиқат барои мисоли дар JDK 16 дар моҳи марти соли 2021 пешниҳодшуда асос ёфтааст. Ғайр аз он, нақшаҳои оянда метавонанд васеъ кардани қолибҳои сабтро бо хусусиятҳо ба монанди қолабҳои массив ва қолибҳои vararg талаб кунанд. Вуруди қолибҳо як қисми Project Amber мебошад , ки ҳадафи он омӯхтан ва таҳияи хусусиятҳои хурди Java мебошад, ки ба иҷроиш нигаронида шудааст.

  • Пешнамоиши Функсияи Alien ва API хотира . Он API-ро ҷорӣ хоҳад кард, ки ба барномаҳои Java имкон медиҳад, ки бо code ва додаҳо берун аз вақти Java ҳамкорӣ кунанд.

    Бо самаранок занг задан ба функсияҳои беруна (code берун аз вақти иҷрои Java) ва дастрасии бехатари хотираи беруна (хотирае, ки аз ҷониби JVM идора карда намешавад), API ба барномаҳои Java имкон медиҳад, ки ба китобхонаҳои ватанӣ занг зананд ва маълумоти модариро бидуни таҳдид ба 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-выражений и операторов.

  • Четвертая инкубация vector API будет выражать векторные вычисления, которые надежно компorруются во время выполнения в оптимальные векторные инструкции на поддерживаемых архитектурах процессоров. Это обеспечит более высокую производительность по сравнению с эквивалентными скалярными вычислениями. Разработчики, использующие новый API, получат возможность писать сложные векторные алгоритмы на Java, используя автовекторизатор HotSpot, но с пользовательской моделью, которая делает векторизацию более предсказуемой и надежной. Векторный API ранее был инкубирован в JDK 16, JDK 17 и JDK 19.

    В качестве еще одного дополнения к векторному API будут расширены побитовые интегральные lanewide-операции, включая такие операции, How подсчет количества единичных битов, изменение порядка битов на обратный, а также сжатие и расширение битов.

  • С портом Linux/RISC-V язык Java получит поддержку набора аппаратных инструкций, который уже поддерживается широким спектром языковых наборов инструментов. RISC-V представляет собой семейство родственных ISA. Порт Linux/RISC-V будет поддерживать только конфигурацию RV64GV RISC-V, 64-разрядную ISA общего назначения, которая включает векторные инструкции.

    Порт получит поддержку следующих параметров виртуальной машины HotSpot: интерпретатор шаблонов, JIT-компилятор C1 (клиент), JIT-компилятор C2 (server) и все текущие основные сборщики мусора, включая ZGC и Shenandoah.

Мисли JDK 18, JDK 19 як нашри кӯтоҳмуддат бо дастгирии шаш моҳ хоҳад буд. Нашри қаблӣ, JDK 17, нашри LTS буд, ки дастгирӣ барои чанд сол кафолат дода мешавад. Он 14 сентябри соли 2021 ҷорӣ карда шуд.
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION