আপনি একটি তৃতীয় পক্ষের লাইব্রেরি ব্যবহার খোলা হন, তাহলে আপনি ব্যবহার করতে পারেন Collectors2মধ্যে বর্গ অন্ধকার সংগ্রহগুলি রূপান্তর করতে Listএকটি থেকে Bagএকটি ব্যবহার Stream। এ Bagহ'ল ডেটা স্ট্রাকচার যা গণনা করার জন্য তৈরি ।
Bag<String> counted =
list.stream().collect(Collectors2.countBy(each -> each));
Assert.assertEquals(1, counted.occurrencesOf("World"));
Assert.assertEquals(2, counted.occurrencesOf("Hello"));
System.out.println(counted.toStringOfItemToCount());
আউটপুট:
{World=1, Hello=2}
এই বিশেষ ক্ষেত্রে, আপনি সরাসরি একটি collectমধ্যে Listসরাসরি করতে পারেন Bag।
Bag<String> counted =
list.stream().collect(Collectors2.toBag());
আপনি Bagএকটি গ্রাহক সংগ্রহ সংগ্রহ প্রোটোকল সঙ্গে Streamঅভিযোজিত ব্যবহার না করে তৈরি করতে পারেন List।
Bag<String> counted = Lists.adapt(list).countBy(each -> each);
বা এই বিশেষ ক্ষেত্রে:
Bag<String> counted = Lists.adapt(list).toBag();
আপনি কেবল সরাসরি ব্যাগটি তৈরি করতে পারেন।
Bag<String> counted = Bags.mutable.with("Hello", "Hello", "World");
এ এটির Bag<String>মতো Map<String, Integer>যা এটি অভ্যন্তরীণভাবে কী এবং তাদের সংখ্যা গণনা করে। তবে, যদি আপনি Mapএমন কীটির জন্য জিজ্ঞাসা করেন যার মধ্যে এটি থাকে না তবে তা ফিরে আসবে null। যদি আপনি Bagএমন কী ব্যবহার করে যা occurrencesOfএটি ব্যবহার করে না তবে এটি 0 ফিরে আসবে।
দ্রষ্টব্য: আমি গ্রহগ্রাহ সংগ্রহের প্রতিশ্রুতিবদ্ধ।