我正在寻找具有唯一值的Java后进先出结构。此外,它应该在重新插入时将已经插入的值提升到前面。例如,跟踪聚焦窗口的顺序将是有用的。
我知道通过扩展或使用Stack
或LinkedHashSet
来实现它并不难,但也许我错过了标准Java类中已经存在的实现。
我不知道,但这是可行的:
class ReinsertionStack<E> extends Stack<E> {
@Override
public E push(E item) {
this.remove(item);
return super.push(item);
}
}
这也保证唯一性,只要你只通过push()
添加堆栈
我认为您需要的是Stack类http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Stack.html
您可能感兴趣的方法:
pop()删除堆栈顶部的对象,并返回该对象作为此函数的值。
E push(E item)将一项压入栈顶。
希望对你有帮助。
搜索方法,可以给你一个简单的方法来处理已经插入的对象