手动去除集合中重复元素

原理:创建另一个集合,遍历判断接收原集合中不重复的元素

 1 import java.util.ArrayList;
 2 import java.util.ListIterator;
 3 
 4 public class test {
 5 
 6     public static void main(String[] args) {
 7         test();
 8     }
 9     
10     public static void test(){
11         ArrayList<String> list = new ArrayList<String>();
12         list.add("1");
13         list.add("2");
14         list.add("3");
15         list.add("8");
16         list.add("2");
17         list.add("4");
18         list.add("3");
19         
20         list.trimToSize(); //调整当前集合容量的大小
21         System.out.println("原始集合元素:"+list);
22         
23         clearRepeear(list);  //调用方法,传入集合
24     }
25     
26     //原理创建另一个集合,接收不重复的元素(两种方法)
27     public static  void clearRepeear(ArrayList<String> list){
28         
29         //(1)for循环形式,判断是否包含,不包含就添加
30         ArrayList<String> newList = new ArrayList<String>();
31         
32         for(int i = 0 ; i < list.size();i++){
33             
34             if(!newList.contains(list.get(i))){
35                 newList.add(list.get(i));
36             }
37         }
38         System.out.println("for循环:"+newList);
39 
40         
41         //(2)迭代器形式
42         ArrayList<String> newList2 = new ArrayList<String>();
43         ListIterator<String> it = list.listIterator();
44         while(it.hasNext()){
45             //next()获取到的是集合里的对象
46             Object obj = it.next();  //将元素赋给一个对象
47             if(!newList2.contains(obj)){ //判断不包含就添加
48                 newList2.add((String)obj);    //将对象转为字符串添加到集合中
49             }
50         }
51         System.out.println("迭代器:"+newList2);
52     }
53 
54 }

 

posted @ 2016-12-14 21:00  Bigerf  阅读(455)  评论(0编辑  收藏  举报