Realize a class Dictionary3 to represent dictionaries and having the following class interface: public class Dictionary3 { // public methods // constructs a dictionary that can have an unlimited number of entries public Dictionary3() { } // searches for word in the dictionary; // if word is found, the corresponding definition is returned; // otherwise null is returned public String search(String word) { } // inserts the entry formed by word and definition in the dictionary public void insert(String word, String definition) { } // removes an entry corresponding to word, if it exists, // otherwise it does nothing; // if there is more than one entry corresponding to word, a randomly chosen // one is removed; public void remove(String word) { } // removes all entries corresponding to word // (if theres is no such entry, does nothing); public void removeAll(String word) { } } Observations: - How can we keep the dictionary sorted? - What advantages and disadvantages does this have?