Tôi có một một đối tượng trông giống như sauJava 8 Suối giá trị lọc danh sách trong một danh sách
class MyObject {
String type;
List<String> subTypes;
}
Có thể, đưa ra một danh sách các MyObject để sử dụng Java 8 suối để lọc trên cả hai loại và sau đó là loại phụ?
Cho đến nay tôi có
myObjects.stream()
.filter(t -> t.getType().equals(someotherType)
.collect(Collections.toList());
nhưng trong phạm vi này, tôi cũng muốn một bộ lọc trên mỗi các phân nhóm lọc những người trên một subtype đặc biệt quá. Tôi không thể tìm ra cách để làm điều này.
Một ví dụ sẽ
myObject { type: A, subTypes [ { X, Y, Z } ] }
myObject { type: B, subTypes [ { W, X, Y } ] }
myObject { type: B, subTypes [ { W, X, Z } ] }
myObject { type: C, subTypes [ { W, X, Z } ] }
tôi sẽ vượt qua trong MatchType B và SUBTYPE Z, vì vậy tôi mong chờ một kết quả -> myObject loại B, phân nhóm: W, X, Z
sau hiện đang trả về 2 mục trong danh sách.
myObjects.stream()
.filter(t -> t.getType().equals("B")
.collect(Collections.toList());
nhưng tôi muốn thêm bộ lọc bổ sung vào từng loại phụ và chỉ khớp với vị trí 'Z'.
Bạn có thể đưa ra ví dụ về trận đấu và bỏ lỡ không? Phải * tất cả * phần tử trong kết hợp 'subTypes'? –
Bạn có muốn lọc 'subTypes' hay không? – kraskevich
Bạn có ý nghĩa gì bởi "một bộ lọc khác trên mỗi subTypes lọc những bộ lọc trên một loại phụ cụ thể"? Xin vui lòng cho một ví dụ. –