क्या आपको पसंद है LinkedHashSet? यह प्रविष्टि के क्रम को सुरक्षित रखता है, लेकिन डुप्लिकेट की अनुमति नहीं देता है।
IMHO, इसकी एक असामान्य आवश्यकता है लेकिन आप डुप्लिकेट के बिना एक सूची लिख सकते हैं।
class SetList<T> extends ArrayList<T> {
@Override
public boolean add(T t) {
return !super.contains(t) && super.add(t);
}
@Override
public void add(int index, T element) {
if (!super.contains(element)) super.add(index, element);
}
@Override
public boolean addAll(Collection<? extends T> c) {
boolean added = false;
for (T t : c)
added |= add(t);
return added;
}
@Override
public boolean addAll(int index, Collection<? extends T> c) {
boolean added = false;
for (T t : c)
if (!super.contains(t)) {
super.add(index++, t);
added = true;
}
return added;
}
}
Comparator? क्या आप भीListइंटरफ़ेस के शब्दार्थ चाहते हैं ?