java - 使用 Set 构造 Collection 会保留 Set 属性吗? ( java )

标签 java collections polymorphism set

如果我有如下所示的代码:

Collection<Object> c = new HashSet<Object>();

它是否仍然保留集合不能包含重复值的属性。换句话说,在以下情况下会发生什么?

String h = "Hello World!";
c.add(h);
c.add(h);

最佳答案

是的,Set 的行为和属性仍然有效。 c 将仅包含一个 “Hello World!”

实例
public static void main(String[] args)
{
    Collection<Object> c = new HashSet<Object>();
    String h = "Hello World!";
    c.add(h);
    c.add(h);
    System.out.println("c contains " + c.size() + " item(s): " + c);
    System.out.println("c is an instance of " + c.getClass());
}

上面的main方法输出:

c contains 1 item(s): [Hello World!]
c is an instance of class java.util.HashSet

关于java - 使用 Set 构造 Collection 会保留 Set 属性吗? ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10842918/

相关文章:

java - 归还藏品

java - SMS_RECEIVED onReceive android 2.3.5 不触发

java - 如何使用流替换两个循环并保留列表中相同的元素

java - 如何将 map 转换为大名单?

java - 如何复制不同接口(interface)实例的行为?

c++ - 多态值得增加耦合吗?

c++ - 如何允许子类具有公共(public)基类但在其方法中接受不同类型的参数

java - Java中的正则表达式: Pattern.编译( "J.*\\d[0-35-9]-\\d\\d-\\d\\d")

java - Guice MapBinding 能否返回不同的实例

java - 将 ArrayList 添加到嵌套在 Map 中的队列