首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

Java中怎么去除List中的重复的值

2013-08-06 
Java中如何去除List中的重复的值?AAAAAAAAAAAABBBBBBBBCCCCCCCCCCCCCCCC遍历得到这些数据 不确定有多少种

Java中如何去除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); 



参考与:http://xinqiqi123.iteye.com/blog/1148984
[解决办法]
可以定义一个方法进行去除

    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;  //返回集合
    }

    public class Test{
        public static void main(String[] args){
           ArrayList<String> arr = new ArrayList<String>();
           arr.add("aaa");
           arr.add("bbb");
           arr.add("aaa");
           arr.add("ccc");
           arr = getNewList(arr);  //方法去重
           System.out.println(arr);
        }
    }

[解决办法]
ArrayList<String> result = new ArrayList<String>();

for(String s: sources){
if(Collections.frequency(reslut, s) < 1) result.add(s);
}

[解决办法]
List list = new ArrayList();

list.add("AAAA");
list.add("AAAA");
list.add("BBBB");
list.add("CCCC");
list.add("DDDD");
list.add("AAAA");
list.add("BBBB");

        List list1 = new ArrayList();

for(int z=0;z<list.size();z++)
{
if(!list1.contains(list.get(z))){
list1.add(list.get(z));
}
}

热点排行