0

我正在寻找适合我需要的数据结构:

  • 包含的元素必须是唯一的。
  • 固定大小,即false如果超出大小,add 应该返回(或抛出异常)。

额外的:

  • 保持存储的元素有序。

我首先想到的是Set。覆盖例如的add方法TreeSet。或者使用装饰器模式。

有没有其他合适的课程可以减少我这边的编码和逻辑工作?

4

2 回答 2

4

扩展TreeSet覆盖add()addAll()要查找的方法size()和添加的元素数量,还考虑到同步对多线程是严格的

于 2013-07-29T16:51:19.400 回答
0

还有另一种方法,您可以使用普通的 hashset 或 set 和 while write 方法来检查大小,如果大小超过 boolean 将返回 true 否则将返回false,并且可以在需要时做必要的事情。

public void isSetFull() {
    // n is the max size you want for set
    if (set.size() >= n) {
        return true;
    } else {
        return false;
    }
于 2018-10-05T04:52:04.100 回答