1. What type of balanced tree implementation is used by Java for implementing SortedMaps? 2. Find a hash table class that is provided by Java (there are a couple) and provide the name of the class plus all superclass ancestors. 3. Write a Java main program that determines whether or not various search terms are in a list of strings. The input will come from the command line as follows: a) an integer, n, that represents the number of strings in the list b) n strings representing the strings in the list c) an unspecified number of strings. For each string your program should determine if the string is in the list. Write a search method that you call from your main program to perform the actual search. It should return true/false depending on whether or not it finds the string. Its parameters should include the array of strings and the string to be found. Your main program should allocate a new array of length n for the list of strings, store the strings in the list, and then loop through the remaining strings on the command line, call the search method, and print the result using System.out.printf. Your program should print the string and either true/false. 4) Why is it a bad idea to declare a method as private? 5) Repeat exercise 3 but now make the array be a linked list that you create. You should create a package called list and create two classes named search and node to complete this problem. node should be a class representing a node in the linked list. seach can implement the functionality for the linked list. You may insert items at the front of the list. 6) Should the constructor for node be public? Why or why not?