我们可以在LinkedHashSet中的固定点插入元素吗?我知道我们无法在 HashSet 中的固定点插入元素,因为 HashSet 不维护插入顺序。但即使 LinkedHashSet 维护插入顺序,我也无法弄清楚为什么以下代码会抛出错误:
import java.util.*;
class Main{
public static void main(String args[]){
LinkedHashSet<String> set=new LinkedHashSet<String>();
set.add("Two");
set.add("Three");
set.add("Four");
set.set(1,"Five");
Iterator<String> i=set.iterator();
while(i.hasNext())
{
System.out.println(i.next());
}
}
}
错误:
Main.java:10: error: cannot find symbol
set.set(1,"Five");
^
symbol: method set(int,String)
location: variable set of type LinkedHashSet<String>
1 error
最佳答案
您不能在 LinkedHashSet
上使用 .set
方法。我认为在这种情况下你需要一个 ArrayList,如下所示:
List<String> list = new ArrayList<>();
list.add("Two");
list.add("Three");
list.add("Four");
list.set(1, "Five");
Iterator<String> i = list.iterator();
while(i.hasNext())
{
System.out.println(i.next());
}
}
请注意:
ArrayList
从 0 开始- 方法
.set
替换先前位于该位置的元素,而.add
则在此处添加新元素
关于java - 我们可以在LinkedHashSet中的固定点插入元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61656187/