목록이 Java 8로되어 있고 목록의 항목이 해당 기능의 조건을 충족하면 부울 결과를 반환하는 특정 필터링 기능이 있습니다. 나는 목록을 조건에 따라 여러 목록으로 나누고 싶다. 스트림 또는 다른 구조와 자바 8 위의 논리를 작성하는 청소기/더 나은 방법이 있나요Java는 부울 조건에 따라 여러 목록으로 목록을 분류합니다.
public void classifyItems(List<SomeType> mylist) {
//declare and initialize list1, list2, list3
//these lists will store items as per filtering conditions
mylist.forEach(item -> {
if (filteringFunction1(item) {
list1.add(item);
}
else if (filteringFunction2(item) {
list2.add(item);
}
else if (filteringFunction3(item) {
list3.add(item)
}
});
//other operations on filtered lists
}
- 현재 내 코드는 같다? 나는 길고 다른 사다리에별로 행복하지 않다. 별도의 조건을 충족하는 품목에 대해 별도의 목록이 필요합니다.
스트림 API에 파티션/그룹별로 * 같은 기능이 없습니다. * 여러 기능을 동시에 사용하면 가장 좋은 결과를 얻을 수 있습니다. – Eugene
일치하지 않는 항목은 어떻게됩니까? 필터링 기능? 그들은 무시해야합니까/버려야합니까? – Henrik