আপনি একটি তৃতীয় পক্ষের লাইব্রেরি ব্যবহার খোলা হন, তাহলে আপনি ব্যবহার করতে পারেন 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 ফিরে আসবে।
দ্রষ্টব্য: আমি গ্রহগ্রাহ সংগ্রহের প্রতিশ্রুতিবদ্ধ।