मेरे पास फ़ाइल पथों की सूची है:।किसी अन्य सूची के आधार पर लैम्ब्डा के साथ सूची से तत्वों को कैसे निकालें
List<Path> filePaths; //e.g. [src\test\resources\file\15\54\54_exampleFile.pdf]
54
ऊपर आईडी दर्ज करने के लिए संदर्भित करता है
मैं तो String
आईडी जो अपने आवेदन के रूप में संभाल कर सकते हैं इस प्रकार की एक Set
प्राप्त:
Set<String> acceptedIds = connection.getAcceptedIDs(); //e.g. elements [64, 101, 33]
मैं filter
बाहर करने के लिए जावा 8 lambdas उपयोग कर सकते हैं कैसे filePaths
में सभी तत्व जिनमें acceptedIds
संग्रह सेट में शामिल स्वीकार्य आईडी शामिल नहीं हैं।
दूसरे शब्दों में, मैं filePaths
में केवल उन पथों को बनाए रखना चाहता हूं जिनमें acceptedIds
सेट हैं। उदाहरण के लिए, 54 उपरोक्त सूची में नहीं है इसलिए हटा दिया गया है।
filePaths.stream().filter(...).collect(Collectors.toList());
क्या हम आईडी के नाम पर तत्काल मूल निर्देशिका पर भरोसा कर सकते हैं? – Bohemian
filePaths.removeIf (पी ->! स्वीकृत आईडीएस कॉन्टैन्स (पी .getPath()) –