Entry < K , V > removeEntryForKey ( Object key ) throws ConcurrentModificationException { Object k = maskNull ( key ) ; int hash = hash ( k ) ; int i = indexFor ( hash , table . length ) ; Entry < K , V > prev = table [ i ] ; Entry < K , V > e = prev ; while ( e != null ) { Entry < K , V > next = e . next ; if ( e . hash == hash && validEntry ( e ) && eq ( k , e . key ) ) { if ( e . is ( Entry . DELETED , null ) && ! e . is ( Entry . DELETED , getCurrentThreadId ( ) ) ) throw new ConcurrentModificationException ( ) ; if ( auto_commit ) { modCount ++ ; size -- ; if ( prev == e ) table [ i ] = next ; else prev . next = next ; return e ; } else e . setStatus ( Entry . DELETED , getCurrentThreadId ( ) ) ; } prev = e ; e = next ; } return e ; }
Removes and returns the entry associated with the specified key in the HashMap . Returns null if the HashMap contains no mapping for this key .