黑马程序员技术交流社区

标题: 【石家庄校区】 Iterator运用方面错误 [打印本页]

作者: 你亲爱的爸爸    时间: 2019-1-8 16:45
标题: 【石家庄校区】 Iterator运用方面错误
本帖最后由 小石姐姐 于 2019-1-10 09:28 编辑



问题标题
Iterator运用方面错误
问题分类

一级话题
  1 个错误
问题补充

附件
[Java] 纯文本查看 复制代码
public  class Test08 {
      public static void main(String[] args) {
          ArrayList<String> arr = new ArrayList<>();
          arr.add("音乐");
          arr.add("旅游");
          arr.add("看书");
          arr.add("跑步");
          arr.add("音乐");
          arr.add("音乐");
          arr.add("旅游");
          arr.add("游泳");
  
          ArrayList<String>str = new ArrayList<>();
          Iterator<String> it =  arr.iterator();
          while (it.hasNext()){
          if(!str.contains(it.next();)){
              str.add(it.next(););
              }
            }
          System.out.println(str);
      }
  }
问题答案
问题分析:
  
15,16 行错误,但不报错,  it.next需要接收,连续执行两次it.next 会跳过一个数据。
  
问题解决方法:
  
修改代码第15,16行
  
String s=  it.next();
  if(!str.contains(s)){
  
  






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2