in opennlp-tools/src/main/java/opennlp/tools/dictionary/Dictionary.java [256:325]
public Set<String> asStringSet() {
return new AbstractSet<>() {
@Override
public Iterator<String> iterator() {
final Iterator<StringList> entries = entrySet.iterator();
return new Iterator<>() {
@Override
public boolean hasNext() {
return entries.hasNext();
}
@Override
public String next() {
return entries.next().getToken(0);
}
@Override
public void remove() {
throw new UnsupportedOperationException();
}
};
}
@Override
public int size() {
return entrySet.size();
}
@Override
public boolean contains(Object obj) {
boolean result = false;
if (obj instanceof String str) {
result = entrySet.contains(new StringList(isCaseSensitive, str));
}
return result;
}
@Override
public boolean equals(Object o) {
if (! (o instanceof Set)) {
return false;
}
Set<String> toCheck = (Set<String>) o;
if (entrySet.size() != toCheck.size()) {
return false;
}
Iterator<String> toCheckIter = toCheck.iterator();
for (StringList entry : entrySet) {
if (isCaseSensitive) {
if (!entry.equals(new StringList(true, toCheckIter.next()))) {
return false;
}
} else {
if (!entry.compareToIgnoreCase(new StringList(false, toCheckIter.next()))) {
return false;
}
}
}
return true;
}
@Override
public int hashCode() {
return entrySet.hashCode();
}
};
}