2016-03-07 17 views

Trả lời

22

Bạn có thể chuyển đổi thành Tập hợp. Tập hợp là một Danh sách có các giá trị duy nhất.

Immutable.List.of("green", "blue","green","black", "blue").toSet() 

Nếu bạn cần nó như là danh sách một lần nữa chỉ chuyển đổi nó trở lại sau đó:

Immutable.List.of("green", "blue","green","black", "blue").toSet().toList() 

Cập nhật:

Nó tồn tại một khả năng ngắn hơn để có được giá trị duy nhất:

Immutable.List.of("green", "blue","green","black", "blue").distinct 
+0

cảm ơn! hoạt động tuyệt vời! – ThorbenA

+2

Sử dụng không thay đổi 3.7.3 giải pháp '.distinct' dường như không hoạt động (không xác định). '.toSet(). toList()' thực hiện công việc! – manosim

12

Nếu bạn có loại phức tạp hơn, bạn cũng có thể sử dụng groupBy để cung cấp bộ chọn của riêng bạn để so sánh. Nội dung sau sẽ xóa các bản sao trên thuộc tính .name:

var distinctColors = duplicateColors.groupBy(x => x.name).map(x => x.first()).toList(); 
+0

Rất hữu ích, cảm ơn! – slezica

Các vấn đề liên quan