১. subList() এবং clear() মেথড ব্যবহার করে
List ইন্টারফেসের subList() মেথড দুটি ইন্টিজার ভ্যালু গ্রহণ করে যা এলিমেন্টের ইনডেক্স রিপ্রেজেন্ট করে, এবং বর্তমান List অবজেক্টের ভিউ রিটার্ন করে নির্দিষ্ট ইনডেক্সের মধ্যবর্তী এলিমেন্ট বাদ দিয়ে।
List ইন্টারফেসের clear() মেথড বর্তমান List অবজেক্ট থেকে সব এলিমেন্ট রিমুভ করে।
তাই, একটি ArrayList-এর নির্দিষ্ট সাবলিস্ট রিমুভ করতে আপনার শুধু এই দুটি মেথড আপনার লিস্ট অবজেক্টে কল করতে হবে সাবলিস্টের বাউন্ডারি নির্দিষ্ট করে:
obj.subList(fromIndex, toIndex).clear();
উদাহরণ
import java.util.ArrayList;
public class RemovingSubList {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("JavaFX");
list.add("Java");
list.add("WebGL");
list.add("OpenCV");
list.add("OpenNLP");
list.add("JOGL");
list.add("Hadoop");
list.add("HBase");
list.add("Flume");
list.add("Mahout");
list.add("Impala");
System.out.println("Contents of the Array List: \n" + list);
list.subList(4, 9).clear();
System.out.println("Contents of the Array List after removing the sub list: \n" + list);
}
}
আউটপুট
Contents of the Array List:
[JavaFX, Java, WebGL, OpenCV, OpenNLP, JOGL, Hadoop, HBase, Flume, Mahout, Impala]
Contents of the Array List after removing the sub list:
[JavaFX, Java, WebGL, OpenCV, Mahout, Impala]
২. removeRange() মেথড ব্যবহার করে
AbstractList ক্লাসের removeRange() মেথড দুটি ইন্টিজার ভ্যালু গ্রহণ করে যা বর্তমান ArrayList-এর এলিমেন্টের ইনডেক্স রিপ্রেজেন্ট করে এবং সেগুলো রিমুভ করে।
কিন্তু এটি একটি প্রোটেক্টেড মেথড এবং এটি ব্যবহার করতে আপনাকে:
- ArrayList ক্লাস ইনহেরিট করতে হবে (আপনার ক্লাস থেকে) extends কিওয়ার্ড ব্যবহার করে।
- আপনার ক্লাস ইনস্ট্যানশিয়েট করতে হবে।
- প্রাপ্ত অবজেক্টে এলিমেন্ট যোগ করতে হবে।
- তब望とする সাবলিস্ট removeRange() মেথড ব্যবহার করে রিমুভ করতে হবে।
উদাহরণ
import java.util.ArrayList;
public class RemovingSubList extends ArrayList<String> {
public static void main(String[] args) {
RemovingSubList list = new RemovingSubList();
list.add("JavaFX");
list.add("Java");
list.add("WebGL");
list.add("OpenCV");
list.add("OpenNLP");
list.add("JOGL");
list.add("Hadoop");
list.add("HBase");
list.add("Flume");
list.add("Mahout");
list.add("Impala");
System.out.println("Contents of the Array List: \n" + list);
list.removeRange(4, 9);
System.out.println("Contents of the Array List after removing the sub list: \n" + list);
}
}
আউটপুট
Contents of the Array List:
[JavaFX, Java, WebGL, OpenCV, OpenNLP, JOGL, Hadoop, HBase, Flume, Mahout, Impala]
Contents of the Array List after removing the sub list:
[JavaFX, Java, WebGL, OpenCV, Mahout, Impala]
সারসংক্ষেপ: সাধারণ ব্যবহারের জন্য subList().clear() সহজ এবং রিকমেন্ডেড। removeRange() ব্যবহার করতে হলে ArrayList সাবক্লাস করতে হয়।