In: Computer Science
Write a collection class named "Jumbler". Jumbler takes in an optional list of strings as a parameter to the constuctor with various strings. Jumbler stores random strings and we access the items based on the methods listed below.
Jumbler supports the following methods:
add() : Add a string to Jumbler
get() : return a random string from Jumbler
max() : return the largest string in the Jumbler based on the
length of the strings in the Jumbler.
iterator: returns an iterator to be able to iterate through all the
strings in the jumbler.
Program Code Screenshot

Sample Output

Program Code to Copy
import java.util.*;
class Jumbler{
List<String> list;
Jumbler(List<String> list){
this.list = list;
}
public void add(String s){
list.add(s);
}
public String get(){
Random r = new Random();
//Return a random string
return list.get(r.nextInt(list.size()));
}
public String max(){
String ans = list.get(0);
//Loop through all strings. Update max
for(String x : list){
if(x.length()>ans.length()){
ans = x;
}
}
return ans;
}
public Iterator iterator(){
return list.iterator();
}}
class Main{
public static void main(String[] args) {
Jumbler jumbler = new Jumbler(new ArrayList(Arrays.asList(new String[]{"a","bc","def"})));
System.out.println(jumbler.get());
System.out.println(jumbler.get());
System.out.println(jumbler.get());
System.out.println("Maximum is "+jumbler.max());
Iterator iterator = jumbler.iterator();
System.out.println("Iterate using iterator");
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
}