JavaRush /جاوا بلاگ /Random-UR /کافی وقفہ نمبر 129۔ LinkedList اور ArrayList میں کیا فرق ...

کافی وقفہ نمبر 129۔ LinkedList اور ArrayList میں کیا فرق ہے؟ جاوا 19 میں آنے والی نئی خصوصیات

گروپ میں شائع ہوا۔

LinkedList اور ArrayList میں کیا فرق ہے؟

ماخذ: Rrtutors.com اگر آپ جاوا پروگرامنگ میں نئے ہیں، تو آپ سوچ رہے ہوں گے کہ مجموعوں کے ساتھ کام کرتے وقت کون سا استعمال کرنا بہتر ہے: LinkedList یا ArrayList۔ یہ دونوں کلاسیں ایک جیسے کام کرتی ہیں، اس لیے بعض اوقات یہ فیصلہ کرنا مشکل ہو جاتا ہے کہ آپ کے کام میں کون سا استعمال کرنا بہتر ہے۔ اس پوسٹ میں، ہم دونوں کلاسوں کے درمیان فرق کی وضاحت کریں گے اور اس بات پر بات کریں گے کہ انہیں کہاں اور کب استعمال کرنا ہے۔ کافی وقفہ نمبر 129۔  LinkedList اور ArrayList میں کیا فرق ہے؟  جاوا 19 - 1 میں آنے والی نئی خصوصیات

جاوا میں ArrayList اور LinkedList کے درمیان فرق

آئیے ان کے معیار کی بنیاد پر ArrayList اور LinkedList کا موازنہ کریں:

ہیرا پھیری

دونوں صورتوں میں سرنی ہیرا پھیری کی رفتار میں فرق ہے۔ ArrayList لنکڈ لسٹ کے مقابلے میں صفوں میں ہیرا پھیری کرنے میں سست ہے۔ یہ اس حقیقت کی وجہ سے ہے کہ لنکڈ لسٹ نوڈ پر مبنی ہے اور اس میں زیادہ تبدیلی کی ضرورت نہیں ہے۔

رسائی

ArrayList ڈیٹا کو تیزی سے اسٹور اور بازیافت کرتی ہے۔ دوسری طرف، LinkedList تیز ڈیٹا پروسیسنگ کی حمایت کرتا ہے۔

عمل درآمد

ArrayList صرف ایک فہرست کو نافذ کرتا ہے، جبکہ LinkedList ایک فہرست اور قطار دونوں کو نافذ کرتا ہے۔ LinkedList کو اکثر قطار کے طور پر بھی استعمال کیا جاتا ہے۔

اندرونی نفاذ

ایک ArrayList اپنے عناصر کو ایک متحرک صف میں محفوظ کرتی ہے، جبکہ ایک LinkedList دوگنا منسلک فہرست استعمال کرتی ہے۔

ArrayList اور LinkedList کب استعمال کریں؟

ArrayList صرف پڑھنے والے کلیکشن کے ساتھ کام کرنے کے لیے موزوں ہے، جبکہ LinkedList کسی ایسے مجموعے کے ساتھ کام کرنے کے لیے موزوں ہے جو ڈیٹا میں مختلف تبدیلیوں کی اجازت دیتا ہے، جیسے کہ شامل کرنا اور حذف کرنا۔

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: نئی خصوصیات جاوا 19 میں آرہی ہیں۔

ماخذ: InfoWorld ورچوئل تھریڈز، سوئچ اسٹیٹمنٹس کے لیے پیٹرن میچنگ، ایک ویکٹر API، اور لینکس/RISC-V پورٹ یہ سب کچھ اس ستمبر میں جاوا 19 میں آ رہے ہیں، جو کہ قلیل مدتی تعاون کے ساتھ زبان کی ایک نئی ریلیز ہے۔ مزید برآں، جاوا ڈویلپمنٹ کٹ 19 نے حال ہی میں ایک اور خصوصیت متعارف کرائی ہے: ڈیٹا نیویگیشن اور پروسیسنگ کے لیے ریکارڈ پیٹرن کا پیش نظارہ۔ جاوا زبان کو بہتر بنانے کے جاری منصوبے کے ایک حصے کے طور پر، JDK 19، یا صرف Java 19، جنرک سے لے کر ویلیو آبجیکٹ تک بہت زیادہ خصوصیات پر مشتمل ہونے کی صلاحیت رکھتا ہے۔ JDK 19 اگلی اپ ڈیٹ JDK 18 کے بعد ہوگی، جو 22 مارچ 2022 کو متعارف کرائی گئی تھی۔ جاوا کا معیاری ورژن ہر چھ ماہ بعد جاری کیا جاتا ہے۔ OpenJDK ڈویلپرز نے JDK 19 کے لیے سرکاری ریلیز کا شیڈول شائع کر دیا ہے۔ اس کے مطابق، مستحکم ریلیز 20 ستمبر کو ظاہر ہو گی۔ اس سے پہلے، ڈویلپر اپنے آپ کو ابتدائی تعمیرات سے واقف کر سکیں گے، جو 9 جون اور 21 جولائی کو ریلیز ہوں گی۔ ریلیز کے امیدوار 11 اگست اور 25 اگست کو شائع کیے جائیں گے۔ JDK 19 کی ابتدائی رسائی کی تعمیرات jdk.java.net/19 پر دستیاب ہیں ۔ JDK 19 میں پیش کردہ خصوصیات میں شامل ہیں:
  • Предварительный просмотр шаблонов записей для разбора значений записей. Шаблоны записей и шаблоны типов могут быть вложены друг в друга, чтобы обеспечить декларативную, мощную и компонуемую форму навигации и обработки данных. Идея этой функции состоит в том, чтобы добавить расширение сопоставления шаблонов для выражения более сложных составных 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-выражений и операторов.

  • ویکٹر API کا چوتھا انکیوبیشن ویکٹر کمپیوٹیشن کا اظہار کرے گا جو رن ٹائم کے وقت معاون پروسیسر آرکیٹیکچرز پر بہترین ویکٹر ہدایات میں قابل اعتماد طریقے سے مرتب کرتے ہیں۔ یہ مساوی اسکیلر حسابات سے بہتر کارکردگی فراہم کرے گا۔ نئے API کا استعمال کرنے والے ڈویلپرز HotSpot کے آٹو ویکٹرائزر کا استعمال کرتے ہوئے جاوا میں پیچیدہ ویکٹر الگورتھم لکھ سکیں گے، لیکن ایک اپنی مرضی کے ماڈل کے ساتھ جو ویکٹرائزیشن کو زیادہ قابلِ پیشگوئی اور قابل اعتماد بناتا ہے۔ ویکٹر API کو پہلے JDK 16، JDK 17، اور JDK 19 میں لگایا گیا تھا۔

    ویکٹر API میں ایک اور اضافے کے طور پر، بٹ وائز انٹیگرل لین وائیڈ آپریشنز کو بڑھایا جائے گا تاکہ ایک بٹس کی تعداد گننا، بٹ آرڈر کو ریورس کرنا، اور بٹ کمپریشن اور توسیع شامل ہو۔

  • لینکس/RISC-V پورٹ کے ساتھ ، Java ہارڈویئر انسٹرکشن سیٹ سپورٹ حاصل کرے گا جو پہلے ہی لینگویج ٹول کٹس کی ایک وسیع رینج کے ذریعے سپورٹ کر رہا ہے۔ RISC-V متعلقہ ISAs کا ایک خاندان ہے۔ Linux/RISC-V پورٹ صرف RV64GV RISC-V کنفیگریشن کو سپورٹ کرے گا، ایک 64 بٹ عمومی مقصد ISA جس میں ویکٹر ہدایات شامل ہیں۔

    پورٹ مندرجہ ذیل ہاٹ اسپاٹ ورچوئل مشین کے اختیارات کو سپورٹ کرے گا: ٹیمپلیٹ انٹرپریٹر، C1 JIT کمپائلر (کلائنٹ)، C2 JIT کمپائلر (سرور)، اور ZGC اور Shenandoah سمیت تمام موجودہ کوڑا اٹھانے والے۔

JDK 18 کی طرح، JDK 19 چھ ماہ کی مدد کے ساتھ ایک مختصر مدت کی ریلیز ہوگی۔ پچھلی ریلیز، JDK 17، ایک LTS ریلیز تھی جس کی کئی سالوں سے ضمانت دی گئی تھی۔ اسے 14 ستمبر 2021 کو متعارف کرایا گیا تھا۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION