Re: [問題] compile後出現的note

看板java作者時間19年前 (2006/07/17 15:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串23/30 (看更多)
==> adrianshum@kkcity.com.tw ( ) 提到: > ※ 引述《cplusplus.bbs@ptt.cc (大口小口吃炒飯)》之銘言: > > 其實並不能互換的, > > 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: **]
文章代碼(AID): #14kpNC00 (java)
文章代碼(AID): #14kpNC00 (java)