Apache Commons Collections লাইব্রেরি Java Collections Framework এর জন্য অনেক শক্তিশালী ইউটিলিটি ক্লাস এবং ফাংশন প্রদান করে। এর মধ্যে CollectionUtils.isEqualCollection
এবং CollectionUtils.cardinalityMap
দুটি গুরুত্বপূর্ণ ফাংশন রয়েছে, যা collections এর সাথে কাজ করার সময় বেশ কার্যকরী হতে পারে।
CollectionUtils.isEqualCollection
CollectionUtils.isEqualCollection
ফাংশনটি দুটি Collection (যেমন List, Set, Bag, ইত্যাদি) এর সমানতা যাচাই করার জন্য ব্যবহৃত হয়। এই ফাংশনটি দেখে নেয় যে, দুটি কালেকশন একই উপাদান ধারণ করছে এবং প্রতিটি উপাদান একই সংখ্যায় আছে কিনা।
Set
বা List
এর ক্ষেত্রে যদি দুটি কালেকশন একে অপরের মতো উপাদান ধারণ করে তবে এটি true
রিটার্ন করবে।isEqualCollection
ব্যবহারimport org.apache.commons.collections4.CollectionUtils;
import java.util.Arrays;
import java.util.List;
public class CollectionUtilsExample {
public static void main(String[] args) {
// দুটি List তৈরি করা
List<String> list1 = Arrays.asList("apple", "banana", "cherry");
List<String> list2 = Arrays.asList("banana", "cherry", "apple");
// দুটি Collection এর সমানতা যাচাই করা
boolean isEqual = CollectionUtils.isEqualCollection(list1, list2);
System.out.println("Are the collections equal? " + isEqual); // Output: true
}
}
আউটপুট:
Are the collections equal? true
এখানে:
List
(list1
এবং list2
) একই উপাদান ধারণ করছে, তবে তাদের অর্ডার আলাদা।CollectionUtils.isEqualCollection(list1, list2)
এই দুটি Collection এর মধ্যে সমানতা যাচাই করেছে এবং এটি true
রিটার্ন করেছে কারণ উপাদানগুলো সমান।list1
এবং list2
এর মধ্যে উপাদানগুলি সমান হলেও, তাদের অর্ডার ভিন্ন হতে পারে।CollectionUtils.isEqualCollection
শুধুমাত্র উপাদান এবং তাদের সংখ্যা যাচাই করে, যাতে অর্ডার বা পুনরাবৃত্তি গণনা হয় না।CollectionUtils.cardinalityMap
cardinalityMap
একটি ইউটিলিটি মেথড যা একটি Collection থেকে cardinality মানচিত্র তৈরি করে, অর্থাৎ, এটি একটি Map তৈরি করে যেখানে প্রতিটি উপাদান এবং তার উপস্থিতির সংখ্যা সংরক্ষিত থাকে।
cardinalityMap
ব্যবহারimport org.apache.commons.collections4.CollectionUtils;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
public class CollectionUtilsExample {
public static void main(String[] args) {
// একটি List তৈরি করা
List<String> list = Arrays.asList("apple", "banana", "apple", "cherry", "banana", "banana");
// cardinalityMap তৈরি করা
Map<String, Integer> cardinalityMap = CollectionUtils.cardinalityMap(list);
// cardinalityMap প্রিন্ট করা
System.out.println("Cardinality Map: " + cardinalityMap);
}
}
আউটপুট:
Cardinality Map: {apple=2, banana=3, cherry=1}
এখানে:
cardinalityMap(list)
ফাংশনটি একটি Map তৈরি করেছে, যেখানে উপাদান এবং তাদের উপস্থিতির সংখ্যা সংরক্ষিত রয়েছে:"apple"
২ বার,"banana"
৩ বার,"cherry"
১ বার।CollectionUtils.isEqualCollection
: দুটি Collection এর সমানতা যাচাই করে, যেখানকার উপাদান এবং সংখ্যা সমান থাকে, তবে তাদের অর্ডার বা পুনরাবৃত্তি (duplicates) যাচাই করা হয় না।CollectionUtils.cardinalityMap
: একটি Collection থেকে cardinality map তৈরি করে, যেখানে প্রতিটি উপাদান এবং তার উপস্থিতির সংখ্যা সংরক্ষিত থাকে। এটি কোনো List বা Set এ উপাদানের উপস্থিতি গণনা করার জন্য ব্যবহৃত হয়।এই দুটি ফাংশন Apache Commons Collections লাইব্রেরির অন্যতম শক্তিশালী ইউটিলিটি, যা Collection সম্পর্কিত কাজগুলো সহজ, কার্যকরী এবং আরও নির্ভুল করে তোলে।
common.read_more