hash tables storing data we have already seen number of different ways of storing items in computerarrays and variants thereof ( sorted and unsorted arraysheap trees)linked lists ( queuesstacks)and trees ( binary search treesheap treeswe have also seen that these approaches can perform quite differently when it comes to the particular tasks we expect to carry out on the itemssuch as insertiondeletion and searchingand that the best way of storing data does not exist in generalbut depends on the particular application this looks at another way of storing datathat is quite different from the ones we have seen so far the idea is to simply put each item in an easily determined locationso we never need to search for itand have no ordering to maintain when inserting or deleting items this has impressive performance as far as time is concernedbut that advantage is payed for by needing more space ( memory)as well as by being more complicated and therefore harder to describe and implement we first need to specify what we expect to be able to do with this way of storing datawithout considering how it is actually implemented in other wordswe need to outline an abstract data type this is similar to what you will generally do when first trying to implement class in javayou should think about the operations you wish to perform on the objects of that class you may also want to specify few variables that you know will definitely be needed for that classbut this does not usually come into defining an abstract data type the approach we have been following for defining abstract data types in these notes is by describing the crucial operations in plain englishtrusting that they are simple enough to not need further explanations in generalwhat is needed is specification for the abstract data type in question an important aspect of studying software engineering is to learn about and use more formal approaches to this way of operating after we have decided what our specification iswe then need to choose data structure in order to implement the abstract data type the data structure to be considered in this is particular type of table known as hash table the table abstract data type the specification of the table abstract data type is as follows table can be used to store objectsfor example