Java Iterator - HackerRank Solution
Hello Friends, How are you? Today I am going to solve the Java Iterator Hackerrank Problem with a very easy explanation. In this article, you will get more than one approach to solving this problem. So let's start-
{tocify} $title={Table of Contents}
HackerRank Java Iterator Solution - Problem Statement
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); } } } {codeBox}
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" {codeBox}
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 {codeBox}
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.
Java Iterator - Hacker Rank Solution
Approach I: Java Iterator HackerRank Solution
// github.com/RodneyShag
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);
}
}
}
import java.util.*;
public class JavaIterator
{
static Iterator func(ArrayList mylist)
{
Iterator it=mylist.iterator();
while(it.hasNext())
{
Object element = it.next();
if(element instanceof String) //Hints: use instanceof operator
break;
}
return it;
}
public static void main(String []argh)
{
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);
}
}
}
Also Read:
Disclaimer: The above Problem ( Java Iterator Problem ) is generated by Hackerrank but the Solution is Provided by MyEduWaves. This tutorial is only for Educational and Learning purposes. Authority if any of the queries regarding this post or website fill the contact form.
I hope you have understood the solution to this HackerRank Problem. All these three solutions will pass all the test cases. Now visit Java Iterator HackerRank Problem and try to solve it again.
All the Best!
Tags:
HackerRank Java