了解Java Iterator示例

问题描述 投票:1回答:1

我正在通过HackerRank为Java工作,发现了以下关于Iterator的问题。https:/www.hackerrank.comchallengesjava-iteratorproblem.

谁能解释一下几个项目。

初始扫描器是如何工作的(即主函数之后的那个)?如果你看到问题陈述,它说一开始会有一个未知数的整数(未知数的整数,后面是 "###"字符,然后我们要打印剩下的未知数的字符串),我们创建两个变量m和n来配合扫描函数。但是我不明白for循环,我们是如何设置参数的?(i=0;i<n;i++); 谁能解释一下怎么会有这种情况?i < n 部分工作?不是吗?n 一个任意的未知数?

同样,底部的Iterator函数是如何工作的?是不是只打印出ArrayList中的所有元素?或者说,如果 Iterator 中出现了中断,那么打印出来的元素只是它后面的元素?

import java.util.*;

public class Main{


       static Iterator func(ArrayList mylist){
          Iterator it=mylist.iterator();
          while(it.hasNext()){
             Object element = it.next();
             if (element.equals("###"))

                break;
            }
          return it;

       }

       @SuppressWarnings({ "unchecked" })
       public static void main(String []args){
          ArrayList mylist = new ArrayList();
          Scanner sc = new Scanner(System.in);
          int n = sc.nextInt();
          int m = sc.nextInt();
          for(int i = 0;i<n;i++){
             mylist.add(sc.nextInt());
          }


          mylist.add("###");
          for(int i=0;i<m;i++){
             mylist.add(sc.next());
          }

          Iterator it=func(mylist);
          while(it.hasNext()){
             Object element = it.next();
             System.out.println((String)element);
          }
       }
    }
java
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.