question: public E putIfAbsent ( int key , E value ) { if ( value == null ) { throw new NullPointerException ( ) ; } E prev ; if ( array . length <= key ) { array = Arrays . copyOf ( array , key * 3 / 2 + 1 ) ; prev = null ; } else { prev = ( E ) array [ key ] ; } if ( prev == null ) { array [ key ] = value ; size ++ ; } return prev ; }
target:  If the specified key is not already associated with a value associates it with the given value and returns null, else returns the current value.