private void deleteFromTableVToK ( int entry , int valueHash ) { checkArgument ( entry != ABSENT ) ; int valueBucket = bucket ( valueHash ) ; if ( hashTableVToK [ valueBucket ] == entry ) { hashTableVToK [ valueBucket ] = nextInBucketVToK [ entry ] ; nextInBucketVToK [ entry ] = ABSENT ; return ; } int prevInBucket = hashTableVToK [ valueBucket ] ; for ( int entryInBucket = nextInBucketVToK [ prevInBucket ] ; entryInBucket != ABSENT ; entryInBucket = nextInBucketVToK [ entryInBucket ] ) { if ( entryInBucket == entry ) { nextInBucketVToK [ prevInBucket ] = nextInBucketVToK [ entry ] ; nextInBucketVToK [ entry ] = ABSENT ; return ; } prevInBucket = entryInBucket ; } throw new AssertionError ( "Expected to find entry with value " + values [ entry ] ) ; }
Updates the V - to - K hash table to remove the entry at the specified index which is assumed to be present . Does not update any other data structures .