chap listsstacksand queues /*the dictionary abstract class *public interface dictionary /*reinitialize dictionary *public void clear()/*insert record @param the key for the record being inserted @param the record being inserted *public void insert(key ke )/*remove and return record @param the key of the record to be removed @return maching record if multiple records match " "remove an arbitrary one return null if no record with key "kexists *public remove(key )/*remove and return an arbitrary record from dictionary @return the record removedor null if none exists *public removeany()/*@return record matching " (null if none existsif multiple records matchreturn an arbitrary one @param the key of the record to find *public find(key )/*@return the number of records in the dictionary *public int size()}figure the adt for simple dictionary records in sorted order in an arraywhich permits binary search fortunatelyin practice most fields of most records consist of simple data types with natural total orders for exampleintegersfloatsdoublesand character strings all are totally ordered ordering fields that are naturally multi-dimensionalsuch as point in two or three dimensionspresent special opportunities if we wish to take advantage of their multidimensional nature this problem is addressed in section figure shows the definition for simple abstract dictionary class the methods insert and find are the heart of the class method insert takes record and inserts it into the dictionary method find takes key value and returns some record from the dictionary whose key matches the one provided if there are multiple records in the dictionary with that key valuethere is no requirement as to which one is returned