Một bộ chỉ đơn giản là một bộ sưu tập có thể không chứa bản sao như vậy nó có vẻ hoàn hảo cho bạn.
Nó cũng rất đơn giản để thực hiện. Ví dụ:
Set<String> mySet = new HashSet<String>();
Điều này sẽ cung cấp cho bạn tập hợp có thể chứa Đối tượng loại chuỗi.
Để thêm vào các thiết lập chỉ đơn giản:
mySet.add("My first entry!");
Theo định nghĩa của một bộ, bạn có thể thêm bất cứ điều gì bạn muốn và không bao giờ chạy vào một trùng lặp.
Hãy vui vẻ!
EDIT: Nếu bạn quyết định bạn đã chết bằng cách sử dụng ArrayList, thật đơn giản để xem một đối tượng đã có trong danh sách trước khi thêm nó chưa.Ví dụ:
public void addToList(String newEntry){
if(!myList.contains(newEntry))
myList.add(newEntry);
}
Lưu ý: Tất cả các ví dụ của tôi cho rằng bạn đang sử dụng đối tượng String nhưng chúng có thể dễ dàng hoán đổi với bất kỳ loại Đối tượng nào khác.
"nhưng tôi không có đầu mối" Ý của bạn là gì? Sử dụng một 'HashSet', giống như bạn đã đọc. –
[đầu mối] (http://docs.oracle.com/javase/tutorial/collections/interfaces/set.html) – ajb
Lưu ý rằng không có quy tắc nào nói rằng bạn không thể có * cả * một 'ArrayList' và một' HashSet' với cùng các phần tử. Bạn có thể sử dụng một 'ArrayList' để giữ các phần tử theo thứ tự bạn muốn, và một' HashSet' để kiểm tra xem một phần tử đã có mặt chưa. (Kiểm tra sẽ nhanh hơn việc tìm kiếm 'ArrayList', nhưng việc duy trì hai bộ sưu tập sẽ làm chậm mọi thứ xuống.) Đôi khi đây là cách đúng đắn để làm việc. – ajb