Re: [Java1.4.2] Vector 與 ArrayList 效率問題...
今天正好看到這篇文章
http://javaboutique.internet.com/tutorials/testing/
※ 引述《dhon (小東)》之銘言:
: 有我數千組至百萬組的資料
: 每組都是浮點數值,像[a,b,c,d]
: 請問,在這個情況下我該用
: Vector 或著 ArrayList 好呢??
: 因為我不時要取第某組的a,b,c,d值出來
: 而且是每秒就要對所有數值取出來n次
: 因為a,b,c,d = x,y,z,法向量
: 所以我用jogl畫時,它的display()我有去測過
: 每秒至少都會跑上n次
: 而每回就對所有資料取出來畫一次
照這篇文章測試的結果
從頭到尾讀取以ArrayList效率較好
: 所以想問一下大大
: 我該用哪一種好呢
: 目前數值,只進不出
: 也就是只add,沒有任何del
若考慮加入資料, 則都沒有太大的差別
: 我有爬文過了
: 也有看到有人說Vector是heavy,而arraylist是light
: 但在取值時arraylist卻比較好取
: 可以使用(arraylist)((arraylist)x.get(x)).get(x)
: 而vector就比較麻煩取了..
: 因為畫點時是在 display() 中
: 所以如果要用呼叫某個function而用return出來的值畫就太慢了
: 或者直接在呼叫的function中畫[不可行,因為畫時只能在display()]
: 所以
: 想問一下各位大大
: 在這種情況下我該用哪種比較好
: 該用麻煩取值法來畫(vector)
: 還是簡單的畫(arraylist)
: 而在效率上,哪一個會比較好...
: 還是我的用法有誤,有更佳的解決方法呢???
其實我感覺你想問的應該是像LinkedList和ArrayList之間的差別吧
因為Vector跟ArrayList兩者基本上是等價的, 底層也都是以陣列來實作
在不牽扯到同步化的問題時, 用哪個都沒差的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.28.225
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):