我正在寻找具有唯一值的 Java LIFO 结构。此外,它应该在重新插入时将已经插入的值提升到前面。例如,跟踪聚焦窗口的顺序会很有用。
Stack
我知道通过扩展或使用or来实现并不难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) 将一个项目推入此堆栈的顶部。
希望有所帮助。
搜索方法,可以给你一个简单的方法来处理已经插入的对象