[问题] OCJP考题 - ArrayList

楼主: uopsdod (pcman)   2017-02-01 19:01:36
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
作者: PTTTTTTTT (1P8T)   2017-02-01 22:53:00
可能是因为不像array一样需要马上allocate memory ?
作者: cowbaying (是在靠北喔)   2017-02-01 23:20:00
没错 主要就是因为他是动态阵列 长度依实际操作增减不像一般的阵列 宣告时长度就固定了原PO可能想成他是不是有什么特殊的算法来节省空间吧
作者: adrianshum (Alien)   2017-02-02 10:28:00
个人认为BD 才是正确答案。同样大小的ArrayList 比Array 多用memory. 还有reallocation 产生的garbage. 只有特定情况下用array list 才会减少memory footprint.
作者: cowbaying (是在靠北喔)   2017-02-02 12:52:00
B?
楼主: uopsdod (pcman)   2017-02-02 21:08:00
如果是以1楼和2楼的角度来想,那我可以理解。但我原本也比较倾向是adr大的想法。可能是题目问法问题?!B的话解答是说这叙述没错,只是并不是'优点'
作者: adrianshum (Alien)   2017-02-03 15:13:00
当你要用到collection 那就是优点了
作者: Kennyq (舞光十射~*)   2017-02-03 15:38:00
B也不能说是错,所以我觉得认证考试钻牛角尖就是这样这题重点是在动态阵列不需一开始宣告长度固定,记这就可以内存运行算底层了吧!你也只是呼叫人家写好的api来做事SCJP钻那么细干麻...考完就是32K等级...这的要深究内存,写组合语言还比较接近真的要深究内存,写组合语言还比较接近以前做网管考微软证照,实际用到的根本很少,钻牛角尖而已连讲师都说他没看过考古题就去考,一样卜街就代表考试跟业界是有很大差距的像这题的B不就有争议,问题是认证考试一堆这种烂题目我还看过考题考你少一个{的,这也太白痴了你用eclipse有auto trigger,根本不会有少}的问题也难怪公司找人,程式没网管那么硬性要求证照你觉得口试面试官会问你少一个}的白痴问题吗?
作者: jej (晃奶大馬桶)   2017-02-03 16:15:00
这题应该是讨论System.arrayCopy的问题吧@@

Links booklink

Contact Us: admin [ a t ] ucptt.com