Set ইন্টারফেস ডুপ্লিকেট এলিমেন্ট অনুমতি দেয় না। এই ইন্টারফেসের add() মেথড এলিমেন্ট গ্রহণ করে Set অবজেক্টে যোগ করে, যোগ করা সফল হলে true রিটার্ন করে, যদি আপনি বিদ্যমান এলিমেন্ট যোগ করার চেষ্টা করেন, তবে অপারেশন ফেল করে false রিটার্ন করে।
অতএব, ArrayList অবজেক্ট থেকে রিডান্ডান্ট এলিমেন্ট সরাতে −
প্রয়োজনীয় ArrayList পান/তৈরি করুন।
একটি খালি Set অবজেক্ট তৈরি করুন।
ArrayList অবজেক্টের সকল এলিমেন্ট Set অবজেক্টে যোগ করার চেষ্টা করুন।
ArrayList-এর কন্টেন্ট clear() মেথড ব্যবহার করে ক্লিয়ার করুন।
এখন, addAll() মেথড ব্যবহার করে Set অবজেক্টের কন্টেন্ট আবার ArrayList-এ যোগ করুন।
উদাহরণ
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class RemovingDuplicates {
public static void main(String[] args) {
// ArrayList অবজেক্ট ইনস্ট্যানশিয়েট করা
ArrayList list = new ArrayList();
list.add("JavaFX");
list.add("Java");
list.add("JavaFX");
list.add("OpenCV");
list.add("Java");
list.add("JOGL");
list.add("JOGL");
list.add("HBase");
list.add("Flume");
list.add("HBase");
list.add("Impala");
System.out.println("Contents of the Array List : \n" + list);
// ArrayList ক্লাসের Iterator অবজেক্ট রিট্রিভ করা
Iterator it = list.iterator();
// একটি খালি Set অবজেক্ট তৈরি করা
Set set = new HashSet();
// ArrayList-এর এলিমেন্টগুলো Set অবজেক্টে যোগ করা
while (it.hasNext()) {
set.add(it.next());
}
// ArrayList থেকে সকল এলিমেন্ট সরানো
list.clear();
// Set-এর এলিমেন্টগুলো আবার লিস্টে যোগ করা
list.addAll(set);
System.out.println("Contents of the Array List after removing duplicate elements: \n" + list);
}
}
আউটপুট
Contents of the Array List : [JavaFX, Java, JavaFX, OpenCV, Java, JOGL, JOGL, HBase, Flume, HBase, Impala] Contents of the Array List after removing duplicate elements: [JavaFX, Java, OpenCV, JOGL, Flume, Impala, HBase]