在 Java 的 TreeSet 中检查元素是否存在

如何搜索存储在 TreeSetArrayList 实现 java.util.List,它提供了 get(int index) 检索具有索引的对象。与 列表TreeSet 实现接口 java.util.Set,它不允许对对象进行索引,因此无法直接访问它。

但是,这两个集合共享 contains() 检查列表(在我们的例子中为 TreeSet)包含特定元素。您可以浏览 TreeSet with Iterator 并使用条件 if(o1.equals(o2))直到它到达所需的元素。这里我们谈论的是 Set,所以元素是混合的,没有精确的索引.

import java.util.Iterator;
导入 java.util.TreeSet;

public class search_element {
public static void main(String[] args) {
// 创建 TreeSet
TreeSet tset = new TreeSet();

// 填充 TreeSet
tset.add(abc”);
tset.add(bcd”);
tset.add(cde”);
tset.add(def”);
tset.add(efg”);

字符串 e = def”;

// 检查 TreeSet
boolean exists = tset.contains(e);
System.out.println(e+ 是否存在于树集中?+存在);

字符串 e2 = eee”;
exists = tset.contains(e2);
System.out.println(e2+ 是否存在于树集中?+存在);

迭代器<字符串> 迭代器 = tset.iterator();
// 搜索元素并用 equals
while (iterator.hasNext()){
String obj = iterator.next();
if(obj.equals(e))
System.out.println(对象 '+e+' 存在于列表中”);
}
}
}
编译并执行此代码会导致以下结果:

def 是否存在于 treeset 中?true
eee 是否存在于树集中?false
def 对象存在于 list
References:
StackOverFlow: 为什么 Java 的 TreeSet 没有 get() 方法?