arraylist 去除相同值问题!!!!

duanwq0007 2007-12-05 03:49:29
假如: ArrayList al=new ArrayList();
al.add("aa");
al.add("aa");
al.add("bb");
al.add("cc");

我想取出来的结果把重复的只留一个,其余的替换成“”空,变成:aa,"",bb,cc .这种应该怎么做好?





...全文
343 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
sn_wolf 2007-12-07
  • 打赏
  • 举报
回复
不错 最佳答案
hareluya0705 2007-12-06
  • 打赏
  • 举报
回复
学习了。
neituib 2007-12-06
  • 打赏
  • 举报
回复
想换个跟好的跟适合的工作,也许可以通过内部推荐更容易实现

内推网 内部推荐,求职快线
xz10000 2007-12-06
  • 打赏
  • 举报
回复
1。2版本就有了,用的不多!学过
richard_2010 2007-12-06
  • 打赏
  • 举报
回复
对了,各位高手,HashSet在JDK1。4版本里面有吗?for(Object o:temp)的写法好象6。0的……
richard_2010 2007-12-06
  • 打赏
  • 举报
回复
换成null用循环很好实现
我工作的时候遇到要去掉重复的自己写了个方法把List重组了,好麻烦,下次试下3楼的方法
今天学习了
javaboy2006 2007-12-06
  • 打赏
  • 举报
回复
mark
  • 打赏
  • 举报
回复
ArrayList al = new ArrayList();
al.add("aa");
al.add("aa");
al.add("bb");
al.add("aa");
al.add("bb");
ArrayList res = new ArrayList();
for (Object o : al) {
if (res.contains(o)) {
res.add("\"\"");
} else {
res.add(o);
}
}
for (Object o : res) {
System.out.println(o);
}
shan1119 2007-12-05
  • 打赏
  • 举报
回复
不谢,互相帮助.
duanwq0007 2007-12-05
  • 打赏
  • 举报
回复
谢谢 shan1119 .马上结分
shan1119 2007-12-05
  • 打赏
  • 举报
回复
		ArrayList   al=new   ArrayList(); 
al.add("aa");
al.add("aa");
al.add("bb");
al.add("cc");
for(int i=0;i<al.size();i++)
if(al.indexOf(al.get(i))!=i)
al.set(i, "");
System.out.println(al);
醉面韦陀 2007-12-05
  • 打赏
  • 举报
回复
我觉得应该是递归的思想,还没想出来,再想想!!
jinxfei 2007-12-05
  • 打赏
  • 举报
回复
自己继承ArrayList,重载其add()方法。
duanwq0007 2007-12-05
  • 打赏
  • 举报
回复
我也是这么想的,但具体的算法我没想明白。。。。。。
xwj1003 2007-12-05
  • 打赏
  • 举报
回复
我的思路,先排序。
然后循环处理一下
duanwq0007 2007-12-05
  • 打赏
  • 举报
回复
ArrayList al=new ArrayList();
al.add("aa");
al.add("aa");
al.add("bb");

HashSet set=new HashSet();
Object[] temp=al.toArray();
for(Object o:temp){
set.add(o);
}
System.out.println(set);

这种只是把重复的去掉了,我现在想做的,把那个重复的变成“”空。 (aa,"",bb)这种。
lionest 2007-12-05
  • 打赏
  • 举报
回复
ArrayList al=new ArrayList();
al.add("aa");
al.add("aa");
al.add("bb");

HashSet set=new HashSet();
Object[] temp=al.toArray();
for(Object o:temp){
set.add(o);
}
System.out.println(set);
duanwq0007 2007-12-05
  • 打赏
  • 举报
回复
用set导只能把重复的去掉,但我不知道怎么把重复的用空格替换掉。
FAT0708 2007-12-05
  • 打赏
  • 举报
回复
用set导一下。

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧