java 为什么SET集合没有get()方法?

qmelpv7a  于 2023-03-28  发布在  Java
关注(0)|答案(1)|浏览(231)

此问题在此处已有答案

(19个答案)
昨天关门了。
如果我想检索某个元素怎么办?我们不能在SET中通过get()方法检索吗?或者如果我想通过get方法检查if element是否等于某个值。
如果我不想通过创建List和添加Set元素来产生任何额外的空间,那么就检索特定的元素。
我们不能用get()方法代替contains()方法吗?

type here
Set<String> hs = new HashSet<>();
String s = "PRAKASH";

hs.add("A");
hs.add("K");
hs.add("A");
hs.add("S");
hs.add("H");

for(int i=0;i<hs.size();i++){

     if(hs.get(1).equals(s.charAt(i)) 
     {
          //Access
          //Logic
     }
}

我想知道为什么Java没有在SET中包含get()。我的意思是SET没有插入顺序,所以可能他们没有提供get()方法。但是我们想检查equals()方法的一些东西,我们如何优化代码而不创建额外的空间,如ArrayList或数组来检索元素。

lh80um4z

lh80um4z1#

你不需要get什么。
使用boolean Collection#contains(Object o),让集合(无论是什么类型)负责比较。

相关问题