我必须实现支持抽象数字的数据结构
集合是数字的集合
sorted 是一个排序集合
list 是数字的列表集合(包括重复项)
set 是没有重复的数字的集合。
Linked 和 Array 是保存数据的格式(linked 表示在堆中扩散,而数组表示连续的内存量)
然后是类的组合(图片中称为arraylist的数组列表等)
一个简单的 uml:
最后四个组合中的每一个(图片中的最后一行)都需要实现一个方法调用 sorted 来制作它们自己的排序副本(返回 Sorted 类型)。我想创建 4 个新类,它们是从 sorted 和最后一行中的类继承的(例如,从 Sorted 类和 ArrayList 类继承的 ArrayListSorted 类),但后来我遇到了菱形问题(在同一个例子中,Sorted 和ArrayList 都是 Collection 的后代)
设计上有什么更好的主意吗?