Java Iterator class can help you to iterate through every element in a collection - Hacker Rank Solution.

 Java Iterator class can help you to iterate through every element in a collection. Here is a simple example:

import java.util.*;
public class Example{

    public static void main(String []args){
        ArrayList mylist = new ArrayList();
        mylist.add("Hello");
        mylist.add("Java");
        mylist.add("4");
        Iterator it = mylist.iterator();
        while(it.hasNext()){
            Object element = it.next();
            System.out.println((String)element);
        }
    }
}

In this problem you need to complete a method func. The method takes an ArrayList as input. In that ArrayList there is one or more integer numbers, then there is a special string "###", after that there are one or more other strings. A sample ArrayList may look like this:

element[0]=>42
element[1]=>10
element[2]=>"###"
element[3]=>"Hello"
element[4]=>"Java"

You have to modify the func method by editing at most 2 lines so that the code only prints the elements after the special string "###". For the sample above the output will be:

Hello
Java

Note: The stdin doesn't contain the string "###", it is added in the main method.

To restore the original code in the editor, click the top left icon on the editor and create a new buffer.


SOLUTION :-


import java.io.*;
import java.util.*;

public class Solution {

     public static void func(ArrayList<String> mylist) {
        Iterator<String> it = mylist.iterator();
       
        // Skip elements until we reach "###"
        while (it.hasNext()) {
            String element = it.next();
            if (element.equals("###")) {
                break; // Stop when we reach "###"
            }
        }

        // Print the remaining elements (after "###")
        while (it.hasNext()) {
            System.out.println(it.next()); // Print directly without modification
        }
    }

    public static void main(String[] args) {
        ArrayList<String> mylist = new ArrayList<>();
        mylist.add("2");
        mylist.add("2");
        mylist.add("42");
        mylist.add("10");
        mylist.add("###");
        mylist.add("hello");
        mylist.add("java");

        func(mylist); // Calling the method
    }
}

Popular posts from this blog

When a method in a subclass overrides a method in superclass, it is still possible to call the overridden method using super keyword - Hacker Rank Solution.

You are given a date. You just need to write the method getDay which returns the day on that date - Hacker Rank Solution.