为什么 SET 集合没有 get() 方法? [重复]

问题描述 投票:0回答:1

如果我想检索一些元素怎么办?我们不能通过 SET 中的 get() 方法检索吗?或者,如果我想通过 get 方法检查元素是否等于某物。

在这里,如果我不想通过创建 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 或数组来检索元素。

java string collections set hashset
1个回答
1
投票

你不需要

get
任何东西。

使用

boolean Collection#contains(Object o)
并让集合(无论类型)负责比较。

© www.soinside.com 2019 - 2024. All rights reserved.