一、swich和ifelse哪個執行效率高?
解答: swich的效率高
原理:
swich是將所有的可能性生成一個靜態表,符合條件直接跳轉(典型的空間換時間)。
ifelse屬于逐條的去判斷,效率較低
swich支持的類型:char、byte、short、int 和 Character、Byte、Short、Integer 和 String(java7以后)
ifelse更適合復雜條件判斷語句,例如(a>b&&a<c)
例外:當然較真的情況下,如果ifelse的第一條判斷就為ture,理論上比swich快.
二、集合的選用問題
1、Andorid中,最常用的集合是List,和HashMap
問題:List的兩個子類ArrayList和LinkedList分別適用什么場景?
1.ArrayList是實現了基于動態數組的數據結構,LinkedList基于鏈表的數據結構。
2.對于隨機訪問get和set,ArrayList優于LinkedList,因為LinkedList要移動指針。
3.對于新增和刪除操作add和remove,LinedList比較占優勢,因為ArrayList要移動數據。
經典臺詞:安全,說明是線程安全的,安全的一定有鎖,效率較低。(安全效率低,不安全效率高)