一、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要移动数据。
经典台词:安全,说明是线程安全的,安全的一定有锁,效率较低。(安全效率低,不安全效率高)