【问题标题】:How to create a class that implements sets如何创建实现集合的类
【发布时间】:2015-09-26 07:05:56
【问题描述】:

假设我想创建一个实现sets 的类Myset,并使用一些方法,例如

-void Insert(Object o) 
-Union(Myset a)
-Intersection(Myset a). 

使用Vector/HashSet/Linkedlist

【问题讨论】:

  • 如果你实现了接口,那么你必须实现接口中声明的所有方法。无法实现某些方法
  • 还有...?你有什么问题?
  • 我的问题是如何创建这样的类。

标签: java data-structures set


【解决方案1】:

您为什么不只是扩展您喜欢的数据结构类,并根据您的要求添加/覆盖方法。

【讨论】:

  • 我写过 public class Myset extends HashSet { HashSet v = new HashSet(); public Myset Union (Myset a) { v.addAll(a); return v; } 但我收到了错误提示 Incompatible types:HashSet cannot be converted into Myset
  • @tezz 那么为什么不将 v 初始化为 Myset v = new Myset();或 HashSet v = new Myset();如果您的 v 是 Myset 对象的 HashSet 引用,则返回 (Myset)v
【解决方案2】:

你的班级:

import java.util.HashSet;

public class Myset extends HashSet {
  public Myset Union(Myset a) {
    this.addAll(a); 
    return this;
  }
}

主类:

public class JavaApplication1 {
    public static void main(String[] args) {
        Myset m = new Myset();
        m.add("Lucho");
        m.add("Rocha");
        Myset m2 = new Myset();
        m2.add("Juan");
        m2.add("Perez");
        m.Union(m2);
        System.out.println(m);
    }
}

但是,我不确定您要做什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-11
    • 2013-11-12
    • 2011-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    相关资源
    最近更新 更多