我正在寻找适合我需要的数据结构:
- 包含的元素必须是唯一的。
- 固定大小,即
false
如果超出大小,add 应该返回(或抛出异常)。
额外的:
- 保持存储的元素有序。
我首先想到的是Set
。覆盖例如的add
方法TreeSet
。或者使用装饰器模式。
有没有其他合适的课程可以减少我这边的编码和逻辑工作?
我正在寻找适合我需要的数据结构:
false
如果超出大小,add 应该返回(或抛出异常)。额外的:
我首先想到的是Set
。覆盖例如的add
方法TreeSet
。或者使用装饰器模式。
有没有其他合适的课程可以减少我这边的编码和逻辑工作?
扩展TreeSet
覆盖add()
,addAll()
要查找的方法size()
和添加的元素数量,还考虑到同步对多线程是严格的
还有另一种方法,您可以使用普通的 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;
}