CodeGym /Java Course /মডিউল 1 /ArrayList এর সাথে কাজ করা, পার্ট 2

ArrayList এর সাথে কাজ করা, পার্ট 2

মডিউল 1
লেভেল 16 , পাঠ 4
বিদ্যমান

1. একটি তালিকার মাঝখানে (বা শুরুতে) একটি উপাদান যোগ করা

যদি আমরা তালিকার মাঝখানে একটি উপাদান সন্নিবেশ করতে চাই, তাহলে তালিকার ভিতরে যা ঘটে তা এখানে।

ধরুন আমাদের 11টি উপাদানের একটি তালিকা রয়েছে:

একটি তালিকার মাঝখানে (বা শুরুতে) একটি উপাদান যোগ করা

আমরা সূচী 5-এর তালিকায় 10,000 নম্বরটি সন্নিবেশ করতে চাই। এটি করার জন্য, আমাদের শুধুমাত্র সম্পাদন করতে হবে:

list.add(5, 10000);

যেখানে listএকটি ArrayListপরিবর্তনশীল. পদ্ধতিটি add(int index, type value)তালিকার অবস্থান 5 এ 10000 মান যোগ করে। পদ্ধতিতে যা ঘটে তা এখানে add():

ধাপ 1: অ্যারের সমস্ত উপাদান, 5ম অবস্থান থেকে শুরু করে, অ্যারের শেষের দিকে 1টি উপাদান দ্বারা স্থানান্তরিত (কপি করা) হবে:

একটি তালিকার মাঝখানে (বা শুরুতে) একটি উপাদান যোগ করা 1

লক্ষ্য করুন যে অ্যারের 5 তম এবং 6 তম কক্ষের উপাদানগুলি এখন একই।

ধাপ 2: 5ম ঘরে 10,000 মানটি লিখুন:

একটি তালিকা 2 এর মাঝখানে (বা শুরুতে) একটি উপাদান যোগ করা

এখন তালিকায় অ্যারের সমস্ত উপাদান রয়েছে এবং পঞ্চম ঘরে 10,000 নম্বর রয়েছে। ঠিক যা আমরা চেয়েছিলাম।



2. একটি তালিকা থেকে একটি উপাদান অপসারণ

একটি তালিকা থেকে একটি উপাদান অপসারণ এটি সন্নিবেশ অনুরূপ, কিন্তু প্রক্রিয়া বিপরীত হয়.

একটি তালিকা থেকে 3য় উপাদান মুছে ফেলা যাক। এটি করার জন্য, আমাদের কার্যকর করতে হবে:

list.remove(3);

রিমুভ() পদ্ধতিতে যা হয় তা এখানে:

ধাপ 1: অ্যারের উপাদানগুলি, 4র্থ অবস্থান থেকে শুরু করে, অ্যারের শুরুতে 1টি উপাদান দ্বারা স্থানান্তরিত (কপি করা) হবে:

একটি তালিকা থেকে একটি উপাদান অপসারণ

ধাপ 2: ভেরিয়েবলের মান size1 দ্বারা হ্রাস করা হবে।

একটি তালিকা থেকে একটি উপাদান অপসারণ 2

অনুগ্রহ করে মনে রাখবেন অ্যারের শেষে ধূসর রঙের কিছু মান রয়েছে। প্রযুক্তিগতভাবে, এগুলি আবর্জনা। আবর্জনা সংগ্রহে হস্তক্ষেপ না করার জন্য তাদের অপসারণ করা দরকার ।

ধাপ 3: আবর্জনা পরিষ্কার করা

একটি তালিকা থেকে একটি উপাদান অপসারণ 3



3. জাভাতে একটি তালিকা নিয়ে কাজ করার ব্যবহারিক উদাহরণ

আসুন তালিকার সাথে কাজ করার কিছু উদাহরণ লিখি:

আমরা 1 থেকে 20 পর্যন্ত সমস্ত জোড় সংখ্যার তালিকা করব:

কোড মন্তব্য
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);
একটি তালিকা বস্তু তৈরি করুন

সমস্ত সূচকের উপর লুপ করুন 1যদি 20
সূচকটি 2অবশিষ্টাংশ ছাড়াই দ্বারা বিভাজ্য হয় তবে
তালিকায় যোগ করুন

এখন স্ক্রিনে তালিকার সমস্ত উপাদান প্রদর্শন করা যাক:

কোড মন্তব্য
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);

for (int i = 0; i < list.size(); i++)
   System.out.println(list.get(i));
একটি তালিকা বস্তু তৈরি করুন
সমস্ত সূচকের উপর লুপ করুন 1যাতে 20

সংখ্যাটি 2অবশিষ্টাংশ ছাড়াই বিভাজ্য হয়,
তালিকায় এটি যোগ করুন

শূন্য থেকে তালিকার আকার পর্যন্ত লুপ করুন
পর্দায় প্রতিটি উপাদান প্রদর্শন করুন

উপাদান অপসারণ:

এখন 4 দ্বারা বিভাজ্য সমস্ত উপাদান মুছে ফেলা যাক। উল্লেখ্য যে তালিকা থেকে একটি উপাদান সরানোর পরে, অবশিষ্ট উপাদানগুলির অবস্থান অবিলম্বে পরিবর্তিত হয়।

কোড মন্তব্য
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);

for (int i = 0; i < list.size(); i++)
   if (list.get(i)%4 == 0)
   {
      list.remove(i);
      i--;
   }
একটি তালিকা অবজেক্ট তৈরি করুন

সমস্ত সূচকের উপর লুপ করুন 1যদি 20
সূচকটি 2অবশিষ্টাংশ ছাড়াই দ্বারা বিভাজ্য হয় তবে
তালিকায় এটি যোগ করুন

শূন্য থেকে তালিকার আকারে লুপ করুন
যদি তালিকার একটি উপাদান 4অবশিষ্টাংশ ছাড়াই দ্বারা বিভাজ্য হয়:

ক) অপসারণ করুন উপাদান
b) iকাউন্টারটি হ্রাস করুন যাতে আমরা লুপের পরবর্তী পুনরাবৃত্তিতে একই সূচক পাই

ধরা যাক আপনাকে একটি তালিকা থেকে শেষ 3টি উপাদান অপসারণ করতে হবে।

এটি কীভাবে ভুলভাবে করা যায় তা এখানে:

কোড মন্তব্য
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);

int n = list.size();
list.remove(n - 3);
list.remove(n - 2);
list.remove(n - 1);
একটি তালিকা বস্তু তৈরি করুন

তালিকাটিতে 10টি উপাদান রয়েছে: 2, 4, 6, ... 20



n = 10
n - 3 = 7(তালিকায় 9টি উপাদান অবশিষ্ট আছে)
n - 2 = 8(তালিকায় 8টি উপাদান অবশিষ্ট আছে)
n - 1 = 9(তালিকায় 7টি উপাদান অবশিষ্ট আছে)

7 তম এবং 8 তম উপাদানগুলি সরানোর পরে, শুধুমাত্র 8টি উপাদান তালিকায় থাকবে। এর মানে হল 9ম উপাদানটি মুছে ফেলা সম্ভব হবে না - প্রোগ্রামে একটি ত্রুটি ঘটবে।

উপাদানগুলি সরানোর সঠিক উপায় এখানে:

বিকল্প 1 বিকল্প 2
int n = list.size();
list.remove(n - 3);
list.remove(n - 3);
list.remove(n - 3);
int n = list.size();
list.remove(n - 1);
list.remove(n - 2);
list.remove(n - 3);

উপাদানগুলিকে শেষ থেকে বা অন্য একটি সামঞ্জস্যপূর্ণ অবস্থান থেকে অপসারণ করতে হবে, যেহেতু প্রতিটি অপসারণ অপারেশনের পরে উপাদানগুলি একটি করে স্থানান্তরিত হয়।


মন্তব্য
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION