@ Override public Object remove ( K key ) { for ( Map < K , V > bucket : buckets ) { Object value = bucket . remove ( key ) ; if ( value != null ) { return value ; } } return null ; }
On the side of performance scanning from header is faster on the side of logic it should scan from the end to first .