arrayutil and thinkinjava
think in java