手撕arraylist是写源码吗