A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 myzhang 于 2014-9-5 23:14 编辑
  1. package Day14;

  2. import java.util.ArrayList;
  3. import java.util.Iterator;
  4. import java.util.List;



  5. public class ArrayListTest {

  6.         /**需求:去除list集合中重复的元素。
  7.          * @param args
  8.          */
  9.         public static void main(String[] args) {
  10.                 // TODO Auto-generated method stub
  11.                 List list=new ArrayList();
  12.                 list.add("zhan");
  13.                 list.add("zhang");
  14.                 list.add("zhan");
  15.                 list.add("zhang");
  16.                 list.add("zhan");
  17.                 getSingleElement(list);
  18.                 System.out.println(list);
  19.         }
  20.         public static void getSingleElement(List list){
  21.                 //定义一个临时容器
  22.                 List tempList=new ArrayList();
  23.                 //遍历原容器
  24.                 for (Iterator iterator = list.iterator(); iterator.hasNext();) {
  25.                         Object object= iterator.next();
  26.                         //判断是否存在
  27.                         if (!list.contains(object)) {
  28.                                 tempList.add(object);
  29.                         }
  30.                 }
  31.                 //唯一性元素已经被记录在临时容器中
  32.                 list.clear();
  33.                 list.addAll(tempList);
  34.         }
  35. }
复制代码
以上的运行结构居然是:[],为什么里面会没有数据呢?请教大家一下。。。。。。


点评

把变量给弄混了。。哎,对象这一块还是不熟练啊!!  发表于 2014-9-2 08:51

5 个回复

正序浏览
原来是我的临时容器和原容器搞反了。。。
回复 使用道具 举报
bbdeyouxang 发表于 2014-8-31 23:19
if (!tempList.contains(object))
你的意思是新建的list里就不加入重复的元素了,但是还是拿老集合判断的 ...

搜噶,对象搞错了。
回复 使用道具 举报
坐等大神解答!
回复 使用道具 举报
if (!tempList.contains(object))
你的意思是新建的list里就不加入重复的元素了,但是还是拿老集合判断的,所以错了
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马