मेरे पास ऑब्जेक्ट्स की एक स्ट्रीम है जिसे मैं निम्न तरीके से एकत्र करना चाहता हूं।जावा 8 जटिल कस्टम कलेक्टर
मान लीजिए कि हम मंच पदों संभाल रहे हैं:
class Post {
private Date time;
private Data data
}
मैं जो समूहों अवधि द्वारा पदों एक सूची बनाना चाहते हैं। यदि एक्स मिनट के लिए कोई पोस्ट नहीं थी, तो नया समूह बनाएं।
class PostsGroup{
List<Post> posts = new ArrayList<>();
}
मैं एक List<PostGroups>
पदों अंतराल के आधार पर वर्गीकृत युक्त प्राप्त करना चाहते हैं।
उदाहरण: अंतराल 10 मिनट।
पोस्ट:
[
{posts : [{time:x, data:{}}, {time:x + 3, data:{}}, {time:x+ 12, data:{}]]},
{posts : [{time:x+ 45, data:{}]}
]
- सूचना है कि पहले समूह चली तक एक्स + 22. तब एक नई पोस्ट में प्राप्त किया गया था:
[{time:x, data:{}}, {time:x + 3, data:{}} , {time:x+ 12, data:{}, {time:x + 45, data:{}}}]
मैं पदों समूह की एक सूची प्राप्त करना चाहते हैं एक्स +45.
क्या यह संभव है?
आप डेट.getTime() को कॉल करके दिनांक समय को लंबे समय तक परिवर्तित कर सकते हैं जो मिलीसेकंड में वर्तमान समय को लंबे समय तक बताता है। आप 10 मिनट को मिलीसेकंड में भी परिवर्तित कर सकते हैं जो 10 * 60 * 1000 होना चाहिए। अब अगले 10 मिनट प्रविष्टियों को खोजने के लिए Day.getTime() पर कुछ तुलनात्मक तर्क डालें। –