3

我正在寻找具有唯一值的 Java LIFO 结构。此外,它应该在重新插入时将已经插入的值提升到前面。例如,跟踪聚焦窗口的顺序会很有用。

Stack我知道通过扩展或使用or来实现并不难LinkedHashSet,但也许我错过了标准 Java 类中已经存在的实现。

4

2 回答 2

2

不是我知道的,但这可以解决问题:

class ReinsertionStack<E> extends Stack<E> {
    @Override
    public E push(E item) {
        this.remove(item);
        return super.push(item);
    }
}

这也保证了唯一性,只要您只通过push().

于 2014-07-08T11:32:34.390 回答
0

我想你想要的是 Stack 类 http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Stack.html

您可能感兴趣的方法:

pop() 移除此堆栈顶部的对象并将该对象作为此函数的值返回。

E push(E item) 将一个项目推入此堆栈的顶部。

希望有所帮助。

搜索方法,可以给你一个简单的方法来处理已经插入的对象

于 2014-07-08T11:32:18.553 回答