看板java
标 题Re: [问题] compile後出现的note
发信站椰林风情 (Sun Jul 16 07:00:37 2006)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!Palmarama
==> [email protected] ( ) 提到:
> ※ 引述《[email protected] (大口小口吃炒饭)》之铭言:
> > 其实并不能互换的,
> > ArrayList没有同步化的机制,Vector有同步化的机制
> > 不需要同步化机制就用ArrayList,可以提升效率
> > 所以实际上,各有所需之处,也不能互换
> > ---
> > 只是刚好看到提出来而已,不要战我 (怕)
别这麽说
我不会想随便战人
我提到vector arraylist可以互换
是想要解释为啥我觉得Date有需要
就我个人经验而言
date timestamp都有需要
就像我认为
vector arraylist都有需要一样
我个人以为 可不可以被取代跟该不该消失是两回事
最後,当然可以互换
把arraylist synchronize起来就可以了(如下面的例子)
> 其实 Vector 是该被拔掉的...
> 因为 Sun 现在建议是用 Collections.synchronizedList(new ArrayList())
> 来达成 synchronized list
我只有在arraylist那边看到SUN建议当使用arraylist而且需要注意synchronization
时候这样用,
并没有看到SUN建议不要用vector
http://www.javaworld.com/javaworld/javaqa/2001-06/03-qa-0622-vector.html
这篇文章是我看到的对两者的一些说明
> Alien
其实我都是看需求
有些时候用arraylist因为只会读,不会写
有synchronization考量的时候,再用vector
会这样是因为arraylist没有synchrinization机制,速度比较快
此外,在现在许多n-tier应用上,用interface来传递物件会比较自由
从callee回传到caller传的是interface
callee
public Collection funcA()
{
Vector v....
...
return v;
}
而caller得到回传物件後,自己再决定如何使用
public void funcB()
{
Collection c = funcA();
这里就随便你怎麽使用这个c
你可以转成Vector,也可以变成ArrayList
}
这样两边的programmer都有比较多的弹性
--
----------------------------------------------
Yen-Lin Yin
Applications Developer
Some City, Some State
----------------------------------------------
--
☆ [Origin:椰林风情] [From: host-24-225-146-213.patmedi] [Login: **] [Post: **]