存储空间上不同。
new出来的在堆上
new出来的在堆上
直接定义的在栈上 .
用法似乎高手都喜欢用new,因为堆的内存大嘛,我喜欢用栈,方便点,不用指来指去,还要回收内存.栈在递归可能会遇到溢出,因为内存有限制.而且new出来的可以用很多动态重载的特性.
1.ArrayList是基于数组,LinkedList基于链表实现。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
4.查找操作indexOf,lastIndexOf,contains等,两者差不多。
这里只是理论上分析,事实上也不一定,比如ArrayList在末尾插入和删除数据就不设计到数据移动,不过还是
有这么个建议:随机访问比较多的话一定要用ArrayList而不是LinkedList,如果需要频繁的插入和删除应该
考虑用LinkedList来提高性能。