集合——练习2

来源:互联网 发布:万达电商 淘宝卖货的 编辑:程序博客网 时间:2024/06/07 08:31
package cn.jason.list.test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ArrayListTest2 {
 public static void main(String[] args) {
  /*
   * 练习2:定义功能,请去除ArrayList集合中的重复元素
   */
  List list = new ArrayList();
  
  list.add("abc1");
  list.add("abc4");
  list.add("abc2");
  list.add("abc1");
  list.add("abc4");
  list.add("abc2");
  list.add("abc1");
  list.add("abc4");
  list.add("abc2");
  
  System.out.println(list);
//  singleElement(list);
  singleElement2(list);
  System.out.println(list);
 }
 /**
  * 去除重复元素方式二
  * 思路:
  * 1.最后唯一性的元素也很多,可以先定义一个容器用于存储这些唯一性的元素。
  * 2.对原有容器进行元素的获取,并到临时容器中去判读是否存在。判读元素是否存在,容器本身就有这个功能。
  * 3.存在就不存储,不存在就存储
  * 4.遍历完原容器后,临时容器中就存储着唯一元素
  */
 public static void singleElement2(List list)
 {
  //1.定义一个临时容器
  List temp = new ArrayList();
  //2.遍历原容器
  for(Iterator it = list.iterator();it.hasNext();) {
   Object obj = (Object)it.next();
  //3.在临时容器中判读元素是否存在
   if(!temp.contains(obj))
   {
    temp.add(obj);
   }
  }
  //5.将原容器清空
  list.clear();
  //6.将临时容器中的元素都存储到原容器中
  list.addAll(temp);
 }
 
 /**
  * 定义功能
  * 去除重复元素方式一
  */
 public static void singleElement(List list)
 {
  for(int x = 0;x<list.size();x++)
  {
   Object obj = list.get(x);
   for (int y = x+1; y < list.size(); y++) {
    if (obj.equals(list.get(y))) {
     list.remove(y);
     y--;
    }
   }
  }
 }
}
原创粉丝点击