تیکه پاره های جاوا
526 subscribers
93 photos
24 videos
7 files
58 links
سلام خوش اومدید. اینجا یادداشت ها و تکه های جاوا رو کنار هم قرار میدیم :) مطالب کاملا اختصاصی و دستنویس هستند. کپی فقط با ذکر منبع و آیدی کانال❤️

📝برای تدریس پیام دهید
محمدرضا عظیمی‌فرد
🆔 @mrvj475
Download Telegram
💎 لینکدلیست استفاده کنیم یا اری لیست؟ LinkedList Vs ArrayList

#یکبار_برای_همیشه

🔆 تماما بستگی به این داره که چه کاری رو بخوایم انجام بدیم و در نتیجه میبایست ساختمان داده مناسب را انتخاب کنیم.

📃 جستجو:
جستجو در اری لیست بسیار سریع تر از لینکد لیست میباشد. از اونجا که اری لیست یک ساختار داده بر پایه ایندکس یا اندیس میباشد (Index based DS) زمان کمتری برای جستجو احتیاج دارد. در صورتی که لینکدلیست اینگونه نیست و باید تمامی عناصر را تا خونه مورد نظر پیمایش کند.

📃 حذف و اضافه:
حذف و اضافه در لینکدلیست زمان خیلی کمتری نسبت به اری لیست دارد. پیچیدگی زمانی در لینکدلیست برای این عملیات O(1) و در اری لیست در بدترین حالت (حذف اولین عنصر) زمان O(n) و در بهترین حالت (حذف آخرین عنصر) O(1) است.

💬 دلیلش هم خیلی سادست :) چون ساختار داده لینکد لیست جوریه که هر عنصر یه بخش برای ذخیره داده و یه بخش بعنوان اشاره گر داره که به عنصر بعدی اشاره میکنه. در نتیجه (مثلا) برای حذف چون عناصر لینکدلیست بوسیله آدرس به هم متصل هستن، حذف یکی از عناصر فقط آدرس به عنصر بعدی رو تغییر میده در صورتی که توی اری لیست حذف یک عنصر باعث میشه باقی عناصر به عقب شیفت داده بشن که جاش رو پر کنن و همین زمان بیشتری رو مصرف میکنه.

#LinkedList #ArrayList
———
☕️@pieceJava
👍7
✏️ #راه_حل
📃موضوع: تبدیل آرایه به لیست

فرض کنید آرایه ای بصورت زیر داریم:
Integer[] a = {1,2,3,4,5,6,7,8};
برای تبدیل آرایه به لیست، چند روش داریم:
———
1️⃣ استفاده از متد asList از کلاس Arrays:
List<Integer> x = Arrays.asList(a);
این متد یک لیست از نوع ArrayList از داده های آرایه رو برمیگردونه.
———
2️⃣ استفاده از متد of از کلاس List:
List<Integer> y = List.of(a);
این متد یک لیست immutable رو برمیگردونه. یعنی فقط میتونید از عناصر لیست استفاده کنید. حذف و اضافه توی این حالت خطای کمپایلر رو داره.

برای تبدیل لیست به یک لیست mutable مثلا اری لیست، بصورت زیر تبدیل رو انجام
دهید
:
List<Integer> y = new ArrayList<>(List.of(a));

3️⃣ بوسیله استریم:
Integer[] number={1,3,6};
List<Integer> list = Arrays.stream(number).collect(Collectors.toList());

🔗 در مورد مفهوم Immutable و mutable از اینجا بخوانید

#List #ArrayList #Arrays
———
☕️@piecejava
👍4