Partition function which will partition the array and into two parts
static int partition ( Vector < String > objects , int l , int r , Map < String , Integer > hash ) { int j = l - 1 ; int last_element = hash . get ( objects . get ( r ) ) ; for ( int i = l ; i < r ; i ++ ) {