阅读 15192 次
发表时间:2008-03-25
上星期去南京华为笔试面试,因为只有一年工作经验加上不是什么牛人,第一论面试就惨遭淘汰。面试中有这么一个题目:如果不考虑性能方面的影响,可不可以将所有arraylist替换成linkedlist?

我当时说可以,各位有什么想法吗? 欢迎交流。

帖子本来发在入门版块,不过没有人回,所以发到这里,版主不要删阿,谢谢!
发表时间:2008-03-25
会有人用错.....
发表时间:2008-03-25
貌似可不可以都行吧,
这类问题,应该是想考你的思路,所以关键是你的理由
个人印象,如果都是使用List接口来调用的话,就可以
发表时间:2008-03-25
ArrayList是利用array来实现的,所以读取速度很快,LinkedList是用链表实现的,所以增删速度比较快.
在大数据量读取的时候LinkedList比ArrayList慢很多.所以
如果不考虑性能方面的影响,是可以将所有arraylist替换成linkedlist的.
发表时间:2008-03-25
这个问题感觉出的没水平
发表时间:2008-03-25
当然可以
除非用到了关联于特定类的方法
发表时间:2008-03-25
同一个接口下的东西,能互换如果没用类中特定的方法
发表时间:2008-03-26
reno_k 写道
貌似可不可以都行吧,
这类问题,应该是想考你的思路,所以关键是你的理由
个人印象,如果都是使用List接口来调用的话,就可以

问题就出在这里
ArrayList(int initialCapacity) 构造器是arraylist

List list  = new ArrayList(10);
改成
List list  = new Linkedlist(10);
就不成吧....

PS:这个我把API用beyond company 比了一下就看出来了.
发表时间:2008-05-18
这个问题要是反过来问就有水平多了,问"是不是所有用LinkedList的地方都可以换成ArrayList",LinkedList实现的接口比ArrayList多多了,答案就很显然了.
发表时间:2008-05-18
都一个接口过来的  功能都一样 所以不考虑性能的话肯定是能够替换的
Global site tag (gtag.js) - Google Analytics