请教:如何写一个里面无重复元素的栈 SearchHistoryList shl = new SearchHistoryList(); shl.push("1"); shl.push("2"); shl.push("3"); shl.push("3"); shl.push("3"); shl.push("6"); shl.push("3"); shl.push("9"); System.out.println(shl.pop()); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先用set去掉重复元素,再push到栈里。 那个无重复栈大概是这样public class SearchHistoryList { private LinkedList sHistoryList = new LinkedList(); private Integer ListNum = 6;//栈最大长度 private Integer listSize; //当前栈长度 public void push(Object o){ if(sHistoryList.size()<ListNum){ sHistoryList.addFirst(o); }else{ sHistoryList.removeLast(); sHistoryList.addFirst(o); } } public Object pop(){ return sHistoryList.removeLast(); } public Object peek(){ return sHistoryList.getLast(); } public boolean isEmpty(){ return sHistoryList.isEmpty(); } public Integer getListSize() { return sHistoryList.size(); }}因为我压入的元素有重复的,所以想在这段基础上加入无重复元素的作用,谢谢各位了,再帮看看 public class SearchHistoryList { private LinkedList sHistoryList = new LinkedList(); private Integer ListNum = 6;//栈最大长度 private Integer listSize; //当前栈长度 public void push(Object o){ if(sHistoryList.size()<ListNum){ if(sHistoryList.indexOf(o)==-1) { // 小改,满足你的条件,绝不插入重复 sHistoryList.addFirst(o); } }else{ sHistoryList.removeLast(); if(sHistoryList.indexOf(o)==-1) { sHistoryList.addFirst(o); } } } public Object pop(){ return sHistoryList.removeLast(); } public Object peek(){ return sHistoryList.getLast(); } public boolean isEmpty(){ return sHistoryList.isEmpty(); } public Integer getListSize() { return sHistoryList.size(); }} if (!linkedListObject.contains(object)){ //加入你的list} HashTable 的key 和value可以很好的解决。用你的1,3,3。当KEY!!出异常就说明有重复元素。速度快编码量小。 关于HashSet中加入重复元素的问题…… 如何在model或则control里定义list放到session()里 用程序访问某个网页,得到“访问原网页失败!” 求助:我用ant 的ZIP工具打包,ZipEntry 名称用的中文名,在WINDOWS下打开文件,出现乱吗 为什么加到包里却编译不过去? 求救一个图形处理的解决方案~~~~~~~~~~ log4j 如何通过配置文件实现日志信息入库,不写代码只是写配置文件????? 我的程序这样写对不对? java多线程问题 一个问题100分,谁答对了我给谁,多人答对分得(现在只能给116,下次给足) jgraph问题! 不能创建对象
private LinkedList sHistoryList = new LinkedList();
private Integer ListNum = 6;//栈最大长度
private Integer listSize; //当前栈长度
public void push(Object o){
if(sHistoryList.size()<ListNum){
sHistoryList.addFirst(o);
}else{
sHistoryList.removeLast();
sHistoryList.addFirst(o);
}
}
public Object pop(){
return sHistoryList.removeLast();
}
public Object peek(){
return sHistoryList.getLast();
}
public boolean isEmpty(){
return sHistoryList.isEmpty();
}
public Integer getListSize() {
return sHistoryList.size();
}
}因为我压入的元素有重复的,所以想在这段基础上加入无重复元素的作用,谢谢各位了,再帮看看
public class SearchHistoryList {
private LinkedList sHistoryList = new LinkedList();
private Integer ListNum = 6;//栈最大长度
private Integer listSize; //当前栈长度
public void push(Object o){
if(sHistoryList.size()<ListNum){
if(sHistoryList.indexOf(o)==-1) { // 小改,满足你的条件,绝不插入重复
sHistoryList.addFirst(o);
}
}else{
sHistoryList.removeLast();
if(sHistoryList.indexOf(o)==-1) {
sHistoryList.addFirst(o);
}
}
}
public Object pop(){
return sHistoryList.removeLast();
}
public Object peek(){
return sHistoryList.getLast();
}
public boolean isEmpty(){
return sHistoryList.isEmpty();
}
public Integer getListSize() {
return sHistoryList.size();
}
}
//加入你的list
}