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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package com.heima.Test16;

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

  5. @SuppressWarnings({ "rawtypes", "unchecked" })
  6. public class Test_demo {

  7.         public static void main(String[] args) {
  8.                 ArrayList list = new ArrayList();
  9.                 list.add("a");
  10.                 list.add("a");
  11.                 list.add("a");
  12.                 list.add("b");
  13.                 list.add("b");
  14.                 ArrayList newList = demo1(list);
  15.                 System.out.println(newList);
  16.         }

  17.         public static ArrayList demo1(ArrayList list) {
  18.                 ArrayList newList = new ArrayList();
  19.                 Iterator it = list.iterator();
  20.                 while (it.hasNext()) {
  21.                         String temp = (String)it.next();
  22.                         if (!newList.contains(list)) {
  23.                                 newList.add(temp);
  24.                         }
  25.                 }
  26.                 return newList;
  27.         }
  28. }
复制代码


3 个回复

倒序浏览
if (!newList.contains(temp)) {
      newList.add(temp);
}
这样就可以了
回复 使用道具 举报
ljd 发表于 2016-6-2 10:21
if (!newList.contains(temp)) {
      newList.add(temp);
}

谢谢,还想问一下,问什么用it.next()不行呢?
回复 使用道具 举报
你在创建集合对象时未使用泛型指定为String类,所以it.next()得到的是Object类型的,必须使用类型强制转换
String temp = (String)it.next();
或者你也可以这样:Object obj = it.next();
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马