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.

Java's System.out.printf function can be used to print formatted output. The purpose of this exercise is to test your understanding of formatting output using printf. To get you started, a portion of the solution is provided for you in the editor; you must format and print the input to complete the solution.