final Node < K , V > getNode ( int hash , Object key ) { Node < K , V > [ ] tab ; Node < K , V > first , e ; int n ; K k ; if ( ( tab = table ) != null && ( n = tab . length ) > 0 && ( first = tab [ ( n - 1 ) & hash ] ) != null ) { if ( first . hash == hash && // always check first node ( ( k = first . key ) == key || ( key != null && key . equals ( k ) ) ) ) return first ; if ( ( e = first . next ) != null ) { if ( first instanceof TreeNode ) return ( ( TreeNode < K , V > ) first ) . getTreeNode ( hash , key ) ; do { if ( e . hash == hash && ( ( k = e . key ) == key || ( key != null && key . equals ( k ) ) ) ) return e ; } while ( ( e = e . next ) != null ) ; } } return null ; }
Implements Map . get and related methods