Set = new HashSet和HashSet = new HashSet java之间的区别

时间:2014-05-28 16:34:52

标签: java set hashset

两次通话之间有什么区别:

Set<Record> instances = new HashSet<Record>();  -  on one hand 
HashSet<Record> instances = new HashSet<Record>();  - on other hand

2 个答案:

答案 0 :(得分:0)

在第一种情况下,您可以将instances重新分配给Set<Record>的任何子类型的实例。在第二种情况下,您只能将instances重新分配给HashSet<Record>子类型的实例。

答案 1 :(得分:0)

HashSet实现了接口Set。两个语句都将HashSet存储在变量实例中(没有区别,两个语句都存储相同的数据)。

然而,第一个语句将HashSet存储在Set中。这有一些优点,例如您可以在不更改其他代码的情况下将HashSet更改为TreeSet