package assignmentNine;

import java.util.ArrayList;
import java.util.Deque;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;

public class QuestionOne {
    public static void main(String[] args) {
        // Create some Strings
        String s0 = new String("null... NOT!");
        String s1 = new String("First String Here!");
        String s2 = new String("I'm another string, hehe");
        String s3 = new String("\t\t\t\t3");
        
        // Create the collections
        List <String> stringList = new ArrayList <String> ();
        Deque <String> stringDeque = new LinkedList <String> ();
        Set <String> stringSet = new TreeSet <String> ();
        
        // Populate the collections
        stringList.add(s0);
        stringList.add(s1);
        stringList.add(s2);
        stringList.add(s3);
        stringDeque.add(s0);
        stringDeque.add(s1);
        stringDeque.add(s2);
        stringDeque.add(s3);
        stringSet.add(s0);
        stringSet.add(s1);
        stringSet.add(s2);
        stringSet.add(s3);
        
        // Print out the List
        System.out.println("List Objects:");
        for(int i=0; i<stringList.size(); i++) {
            System.out.println("\tString " + i + ": " + stringList.get(i));
        }
        
        // Print out the Deque (also leaves it empty)
        int j=0;
        System.out.println("\nDeque Objects:");
        while(!stringDeque.isEmpty()) {
            System.out.println("\tString " + j++ + ": " + stringDeque.pop());
        }
        
        // Print out the Set
        Iterator <String> setIterator = stringSet.iterator();
        int k=0;
        System.out.println("\nSet Objects:");
        while(setIterator.hasNext()) {
            System.out.println("\tString " + k++ + ": " + setIterator.next());
        }
    }
}
