一个关于ArrayList的问题

crystal_si 2003-08-15 03:35:11
一个ArrayList中有若干String,要求一个函数,入口参数为此ArrayList,返回一个每个元素只能唯一的ArrayList
如:原ArrayList含有a,b,c,b,c,a
经过过虑后的ArrayList是:a,b,c
求代码
...全文
20 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
star821116 2003-08-16
  • 打赏
  • 举报
回复
用Set不允许重复元素,也可以加入到ArrayList的时候加一个判断
shine333 2003-08-16
  • 打赏
  • 举报
回复
直接用xxxSet,当你add()的时候,它就自动剔除重复的值了,

HashSet hs = new HashSet(arrayList)
teaky2002 2003-08-15
  • 打赏
  • 举报
回复
这种情况用set比list要好。因为set本身就不包括重复的值。
如果你要坚持用list的话,就自己写代码剔除其中的重复值,也挺简单的。
yoken 2003-08-15
  • 打赏
  • 举报
回复
ArrayList newAl = new ArrayList(new HashSet(ArrayList oldAl));
whyxx 2003-08-15
  • 打赏
  • 举报
回复
用hashMap很简单呀
coordinate 2003-08-15
  • 打赏
  • 举报
回复
1.建议使用HashSet
2.ArrayList getNew(ArrayList al){
ArrayList al2=new ArrayList();
int a;
al2.add(al.get(0),0)
for(int i=1;i<al.size();i++){
String s1=al.get(i);
boolean b=false;
for(a=0;a<i;a++){
String s2=al2.get(a);
if(b=(s2.equals(sq))==true) break;
}
if(b==false) al2.add(s1,i);
}
}
return al2;
}


yahooli 2003-08-15
  • 打赏
  • 举报
回复
不好意思,
纠正一下.
public ArrayList fun(ArrayList al)
{
ArrayList newal=new ArrayList();
Iterator it ;
it=al.iterator();
boolean flag=false;

while(it.hasNext())
{
Object ob=it.next();
if(!flag)
{
newal.add(ob);
flag=true;
}
else
{
if (!newal.contains(ob))
newal.add(ob);
}

}
return newal;
}
yahooli 2003-08-15
  • 打赏
  • 举报
回复
public ArrayList fun(ArrayList al)
{
ArrayList newal=new ArrayList();
Iterator it ;
it=al.iterator();
boolean flag=false;

while(it.hasNext())
{
Object ob=it.next();
if(!flag)
{
newal.add(ob);
flag=true;
}
else
{
if (!al.contains(ob))
newal.add(ob);
}

}
return newal;
}
tpz_stamp 2003-08-15
  • 打赏
  • 举报
回复
请使用HashSet

62,614

社区成员

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

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