Java 如何使集合为空

Java 如何使集合为空,java,set,Java,Set,我想将我的集合初始化为空(非空),有人能帮我吗? 这是我的密码 public class Graph { private Set<Vertex> vertices; public Graph() { vertices = {}; } 公共类图{ 私有集顶点; 公共图(){ 顶点={}; } 我知道这样做是错误的,但不能做任何其他事情您需要执行构造函数: public Graph() { vertices = new HashSet<>(); } 公共图

我想将我的集合初始化为空(非空),有人能帮我吗? 这是我的密码

public class Graph {
private Set<Vertex> vertices;

public Graph() {
    vertices = {};
}
公共类图{
私有集顶点;
公共图(){
顶点={};
}

我知道这样做是错误的,但不能做任何其他事情

您需要执行构造函数:

public Graph() {
  vertices = new HashSet<>();
}
公共图(){
顶点=新的HashSet();
}
Set
是一个接口定义,因此您需要选择
Set
的一个具体实现
HashSet
就是这样一个实现,但是
TreeSet
是另一个(
TreeSet
实际上是
SortedSet
的实现)。

public Graph(){
顶点=新的HashSet();
} 

public Graph(){
顶点=新树集();
}
Set是一个接口。您需要决定所需的实现,然后使用无参数构造函数进行构造

vertices = new HashSet<Vertex>();
顶点=新HashSet();

顶点=新树集();
有关
TreeSet
HashSet
的更多信息,请参阅。鉴于
Set
是一个接口,可以存在任意数量的实现(您甚至可以编写自己的实现),但我想您可能希望从这两个实现中的一个开始。

替换

vertices = {};

顶点=新HashSet();
这将为Java中的
接口

顶点=new HashSet();?或
new HashSet();
初始化一个空的
哈希集7@Reimeus:我仍然“卡在”Java 6中
vertices = new HashSet<Vertex>();
vertices = new TreeSet<Vertext>();
vertices = {};
vertices = new HashSet<Vertex>();