需求: 一个有关集合的方法
要求:
1、该集合必须是定长的
2、最先进入集合的最先出来(FIFO)
3、重复的元素则替换,被替换的元素移除,而且替换的元素插入在该集合的最后Ex: 依次插入1、2、3、4、5 然后再插入6、1、2、3、4则最后的结果应该是:
5、6、1、2、3、4请问大家该如何实现呢,谢谢~~ 想咯很久,还某实现功能呢 (⊙o⊙)
要求:
1、该集合必须是定长的
2、最先进入集合的最先出来(FIFO)
3、重复的元素则替换,被替换的元素移除,而且替换的元素插入在该集合的最后Ex: 依次插入1、2、3、4、5 然后再插入6、1、2、3、4则最后的结果应该是:
5、6、1、2、3、4请问大家该如何实现呢,谢谢~~ 想咯很久,还某实现功能呢 (⊙o⊙)
2、双端列队可以拿头元素,也可以拿最后的元素(普通list要你控制下标)
3、检查列队中是否存在该元素,存在移除,或者直接把该元素移到最后(普通list要你控制下标)
public void add(int i)
{
Vector v = new Vector();
if(v.contains(i))
{
v.remove(i);
v.add(i);
}
v.add(i);
}
具体点说 i实际上是一个对象 而且每个对象都是不同的 我要保存最新的二十个对象,该怎么实现呢????? O(∩_∩)O~
哎,直接用Deque,这个对你来说可以最省事,不过1.6才有,不行,就用个普通list可以了
public void list(Object obj){
if(list.remove(obj)){
list.add(obj);
}
else{
list.remove(0);
list.add(obj);
}
}
list.get(list.size() - 1)就是最头的元素
public void list(Object obj){
if(!list.remove(obj)){
list.remove(0);
}
list.add(obj);
}