Giả sử tôi có một danh sách (hoặc Set):lọc và sắp xếp danh sách sử dụng các bộ sưu tập google
List<String> testList = Lists.newArrayList("assocX","srcT","destA","srcX", "don't care Y", "garbage", "srcB");
Tôi muốn nhận lại một ImmutableList (Set) mà các loại/nhóm điều khoản trong trật tự tự nhiên nơi các từ bắt đầu với "src" trước tiên, "assoc" thứ hai và "dest" cuối cùng. Nếu một thuật ngữ không chứa những từ đó thì nó sẽ bị loại bỏ khỏi danh sách kết quả.
Do đó, kết quả ở đây là "srcB", "srcT", "assocX", "destA".
Tôi nghĩ rằng tôi có thể làm điều này với một số kết hợp của Iterables.filter hoặc Predicates nhưng chỉ không nhìn thấy nó. Phải có một cách ngắn gọn để làm điều đó tôi nghĩ.
CHỈNH SỬA: Một bộ ở vị trí của danh sách cũng hoạt động.
Trong các trường hợp khác, tốt hơn là 'ném mới IllegalArgumentException() 'hơn' trả về 3'. –