您的位置:首页 > 其它

循环剔除集合(List)中的重复元素

2014-07-01 08:56 316 查看

循环剔除集合(List)中的重复元素
AAAA

AAAA

AAAA

BBBB

BBBB

CCCC

CCCC

CCCC

CCCC

遍历得到这些数据 不确定有多少种 也可能有DDDDD,不确定有每种数据有多少条 ,我想得到每种数据的单个 如AAAA BBBB CCCC,去除每种数据重复的部分!

方法一:循环元素删除

// 删除ArrayList中重复元素

public   static   void  removeDuplicate(List list)   {
for  ( int  i  =   0 ; i  <  list.size()  -   1 ; i ++ )   {
for  ( int  j  =  list.size()  -   1 ; j  >  i; j -- )   {
if  (list.get(j).equals(list.get(i)))   {
list.remove(j);
}
}
}
System.out.println(list);
}

方法二:通过HashSet剔除

// 删除ArrayList中重复元素

public   static   void  removeDuplicate(List list)   {
HashSet h  =   new  HashSet(list);
list.clear();
list.addAll(h);
System.out.println(list);
}

方法三: 删除ArrayList中重复元素,保持顺序

// 删除ArrayList中重复元素,保持顺序

public   static   void  removeDuplicateWithOrder(List list)   {
Set set  =   new  HashSet();
List newList  =   new  ArrayList();
for  (Iterator iter  =  list.iterator(); iter.hasNext();)   {
Object element  =  iter.next();
if  (set.add(element))
newList.add(element);
}
list.clear();
list.addAll(newList);
System.out.println( " remove duplicate "   +  list);
}
方法四: 新建集合,将原不重复数据保存到新集合

publi List<String> getNewList(List<String> li){
List<String> list = new ArrayList<String>();
for(int i=0; i<li.size(); i++){
String str = li.get(i);  //获取传入集合对象的每一个元素
if(!list.contains(str)){   //查看新集合中是否有指定的元素,如果没有则加入
list.add(str);
}
}
return list;  //返回集合
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: