Apache Commons Collections লাইব্রেরি Java Collections Framework (JCF)-এর উপর ভিত্তি করে আরও উন্নত এবং কার্যকরী ডেটা স্ট্রাকচার এবং ইউটিলিটি ক্লাস সরবরাহ করে। IterableMap এবং MapUtils দুটি গুরুত্বপূর্ণ উপাদান যা Map সম্পর্কিত অপারেশন এবং কাস্টম ফিচার সরবরাহ করে।
IterableMap হল Apache Commons Collections এর একটি ইন্টারফেস যা Map ইন্টারফেসের একটি এক্সটেনশন। এটি মূলত একটি Map যা Iterable ইন্টারফেসকে এক্সটেন্ড করে, যার মাধ্যমে আপনি একটি Map এর উপাদানগুলিকে সহজে for-each লুপের মাধ্যমে ইটারেট করতে পারেন।
IterableMap ইন্টারফেস Map এর সমস্ত কার্যকারিতা সরবরাহ করে, তবে এর মধ্যে একটি অতিরিক্ত সুবিধা হল এটি key-value pairs উপর ইটারেশন করতে সক্ষম।
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.collections4.map.HashedMap;
import org.apache.commons.collections4.map.ListOrderedMap;
import org.apache.commons.collections4.IterableMap;
import java.util.Map;
public class IterableMapExample {
public static void main(String[] args) {
IterableMap<String, String> iterableMap = new ListOrderedMap<>();
iterableMap.put("apple", "fruit");
iterableMap.put("carrot", "vegetable");
iterableMap.put("banana", "fruit");
// Iterating through the map using for-each loop
for (Map.Entry<String, String> entry : iterableMap.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
}
এখানে:
আউটপুট:
apple : fruit
carrot : vegetable
banana : fruit
এটি Map এর উপাদানগুলির উপর সহজে ইটারেট করার জন্য একটি সহজ পদ্ধতি সরবরাহ করে, এবং IterableMap এর মাধ্যমে আপনি Map এ key-value pairs উপর for-each লুপ প্রয়োগ করতে পারেন।
MapUtils হল একটি ইউটিলিটি ক্লাস যা Map সম্পর্কিত বিভিন্ন সাধারণ কার্যাবলী সরবরাহ করে। এটি মূলত Map ডেটা স্ট্রাকচারের উপর কিছু সাধারণ কাজ সহজভাবে করার জন্য তৈরি হয়েছে। MapUtils মেথডগুলো null-safe এবং কার্যকরভাবে Map পরিচালনা করতে সাহায্য করে।
import org.apache.commons.collections4.MapUtils;
import java.util.HashMap;
import java.util.Map;
public class MapUtilsExample {
public static void main(String[] args) {
// Creating a Map using HashMap
Map<String, String> map = new HashMap<>();
map.put("apple", "fruit");
map.put("carrot", "vegetable");
// Using MapUtils to safely get a value with a default
String value = MapUtils.getString(map, "banana", "unknown");
System.out.println(value); // Output: unknown
// Using MapUtils to get a value with key existence check
boolean containsKey = MapUtils.isEmpty(map); // Checks if the map is empty
System.out.println(containsKey); // Output: false
// Using MapUtils to safely put a value
MapUtils.putIfAbsent(map, "banana", "fruit");
System.out.println(map); // Output: {apple=fruit, carrot=vegetable, banana=fruit}
}
}
এখানে:
আউটপুট:
unknown
false
{apple=fruit, carrot=vegetable, banana=fruit}
এটি দেখায় কিভাবে MapUtils ব্যবহার করে নিরাপদভাবে Map অপারেশন করা যায়, যা মান বের করার সময় null চেক করতে সাহায্য করে এবং সহজভাবে নতুন মান যোগ করতে সাহায্য করে।
putAll(): একাধিক মান একত্রে একটি Map এ যোগ করা।
Map<String, String> newMap = new HashMap<>();
MapUtils.putAll(newMap, new Object[][] {
{ "one", "1" },
{ "two", "2" }
});
getMap(): একটি Map এর থেকে মান বের করা।
Map<String, String> map = MapUtils.getMap(new HashMap<>(), "key", "defaultValue");
isEmpty(): চেক করে যে Map ফাঁকা কিনা।
boolean isEmpty = MapUtils.isEmpty(map);
isEqualMap(): দুটি Map এর সমান কিনা তা চেক করা।
boolean areEqual = MapUtils.isEqualMap(map1, map2);
getString(): একটি Map থেকে স্ট্রিং টাইপের মান পেতে, যদি মান না থাকে তবে একটি ডিফল্ট মান ফেরত দেয়।
String value = MapUtils.getString(map, "key", "default");
Apache Commons Collections লাইব্রেরির IterableMap এবং MapUtils ক্লাস Java Collections Framework এর সাথে অতিরিক্ত ফিচার এবং ইউটিলিটি সরবরাহ করে। IterableMap আপনাকে একটি Map এর উপাদানগুলোর উপর সহজে ইটারেট করার সুযোগ দেয় এবং MapUtils একটি ব্যবহারিক ক্লাস যা Map এর উপর কাজ করার জন্য বিভিন্ন সাধারণ এবং নিরাপদ ফিচার সরবরাহ করে। এটি null-safe অপারেশন, মান বের করা, মান যুক্ত করা এবং Map এর তুলনা করার সুবিধা প্রদান করে। Apache Commons Collections এর এই ফিচারগুলি ব্যবহার করে Map এর কার্যাবলী আরও সহজ, কার্যকরী এবং নিরাপদ করা যায়।