के साथ विशिष्ट विशेषताओं द्वारा गतिशील समूहांकन I जावा 8 संग्रह-स्ट्रीम का उपयोग कर, मल्टीप्लट विशेषताओं द्वारा ऑब्जेक्ट्स की एक सूची को समूहबद्ध करने का प्रयास कर रहा हूं।संग्रह.स्ट्रीम
यह बहुत अच्छी तरह से काम करता है:
public class MyClass
{
public String title;
public String type;
public String module;
public MyClass(String title, String type, String module)
{
this.type = type;
this.title = title;
this.module= module;
}
}
List<MyClass> data = new ArrayList();
data.add(new MyClass("1","A","B"));
data.add(new MyClass("2","A","B"));
data.add(new MyClass("3","A","C"));
data.add(new MyClass("4","B","A"));
Object result = data.stream().collect(Collectors.groupingBy((MyClass m)
-> m.type, Collectors.groupingBy((MyClass m) -> m.module)));
लेकिन मैं इसे थोड़ा और अधिक गतिशील बनाने के लिए करना चाहते हैं। मैं सिर्फ एक स्ट्रिंग-ऐरे (या सूची) निर्दिष्ट करना चाहता हूं जिसका उपयोग GroupBy में किया जाना चाहिए।
कुछ की तरह:
Object groupListBy(List data, String[] groupByFieldNames)
{
//magic code
}
और मैं कॉल करना चाहते हैं:
groupListBy(data, new String[]{"type","module"});
मैं अपने उदाहरण में GroupBy-विधि और अधिक गतिशील बना सकते हैं, पसंद है?