【问题标题】:How to create my own Set Class, with new functionalities如何使用新功能创建我自己的 Set Class
【发布时间】:2021-10-10 17:40:45
【问题描述】:

所以我想创建一个名为 SortIntsSet 的类,它基本上是一个 Set,但具有不同的实现。例如,我想有两种方法,一种用于添加,它只将绝对值添加到集合中,第二种获取大小。

这是我的代码:

import java.util.Set;

public class SortIntsSet {

private Set<Integer> mySet;
private int size;

public SortIntsSet() {
    mySet = new HashSet<Integer>();
}

public int size() {
    return this.size;
}

public void add(int i) {
    mySet.add(Math.abs(i));
}}

问题出现在这里:当我像这样在主类中创建它的实例时:

Set<Integer> myset = new SortIntsSet();

它给了我一个错误提示:Required type Set, Provided myset

我该如何解决这个问题?

【问题讨论】:

    标签: java class collections set


    【解决方案1】:

    你必须实现接口Set

    public class SortIntsSet implements Set<Integer>
    

    【讨论】:

    • 是的,但是我必须实现 Set 的所有方法。而且我只想添加两种方法并调整大小。
    • 您也可以扩展 HashSet 并仅覆盖您想要更改的方法。 Bau,您不能将类分配给未实现此接口的接口 Set
    猜你喜欢
    • 2012-04-08
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-29
    • 2015-11-03
    • 1970-01-01
    相关资源
    最近更新 更多