作者uopsdod (pcman)
看板java
標題[問題] OCJP考題 - ArrayList
時間Wed Feb 1 19:01:36 2017
Idenfity two benefits of using ArrayList over array in software development
A. reduces memory footprint
B. implements the Collection API
C. is multi-thread safe
D. dynamically resized based on the number of elements in the list
Answers: A, D
----------------------------------------------------------------------------
I don't undertstand that why ArrayList could reduce more memory footprint?
Could anyone give me a hand and provide some examples? Thank you.
I also posted this question on reddit(FYI):
https://goo.gl/uB1k1p
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.142.185
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1485946899.A.C8A.html
※ 編輯: uopsdod (180.217.142.185), 02/01/2017 19:01:57
1F:推 PTTTTTTTT: 可能是因為不像array一樣需要馬上allocate memory ? 02/01 22:53
2F:推 cowbaying: 沒錯 主要就是因為他是動態陣列 長度依實際操作增減 02/01 23:20
3F:→ cowbaying: 不像一般的陣列 宣告時長度就固定了 02/01 23:21
4F:→ cowbaying: 原PO可能想成他是不是有什麼特殊的演算法來節省空間吧 02/01 23:22
5F:推 adrianshum: 個人認為BD 才是正確答案。同樣大小的ArrayList 比Arr 02/02 10:28
6F:→ adrianshum: ay 多用memory. 還有reallocation 產生的garbage. 只 02/02 10:28
7F:→ adrianshum: 有特定情況下用array list 才會減少memory footprint. 02/02 10:28
8F:→ cowbaying: B? 02/02 12:52
9F:→ uopsdod: 如果是以1樓和2樓的角度來想,那我可以理解。 02/02 21:08
10F:→ uopsdod: 但我原本也比較傾向是adr大的想法。可能是題目問法問題?! 02/02 21:08
11F:→ uopsdod: B的話解答是說這敘述沒錯,只是並不是'優點' 02/02 21:09
※ 編輯: uopsdod (1.200.209.30), 02/02/2017 21:24:51
※ 編輯: uopsdod (1.200.209.30), 02/02/2017 21:25:10
12F:→ adrianshum: 當你要用到collection 那就是優點了 02/03 15:13
13F:→ Kennyq: B也不能說是錯,所以我覺得認證考試鑽牛角尖就是這樣 02/03 15:38
14F:→ Kennyq: 這題重點是在動態陣列不需一開始宣告長度固定,記這就可以 02/03 15:40
15F:→ Kennyq: 記憶體運行算底層了吧!你也只是呼叫人家寫好的api來做事 02/03 15:41
16F:→ Kennyq: SCJP鑽那麼細幹麻...考完就是32K等級... 02/03 15:42
17F:→ Kennyq: 這的要深究記憶體,寫組合語言還比較接近 02/03 15:43
18F:→ Kennyq: 真的要深究記憶體,寫組合語言還比較接近 02/03 15:44
19F:→ Kennyq: 以前做網管考微軟證照,實際用到的根本很少,鑽牛角尖而已 02/03 15:45
20F:→ Kennyq: 連講師都說他沒看過考古題就去考,一樣卜街 02/03 15:46
21F:→ Kennyq: 就代表考試跟業界是有很大差距的 02/03 15:46
22F:→ Kennyq: 像這題的B不就有爭議,問題是認證考試一堆這種爛題目 02/03 15:48
23F:→ Kennyq: 我還看過考題考你少一個{的,這也太白痴了 02/03 15:52
24F:→ Kennyq: 你用eclipse有auto trigger,根本不會有少}的問題 02/03 15:53
25F:→ Kennyq: 也難怪公司找人,程式沒網管那麼硬性要求證照 02/03 15:55
26F:→ Kennyq: 你覺得口試面試官會問你少一個}的白痴問題嗎? 02/03 15:55
27F:→ jej: 這題應該是討論System.arrayCopy的問題吧@@ 02/03 16:15