Java执行效率

一、swich和ifelse哪个执行效率高?

解答: swich的效率高

原理:

swich是将所有的可能性生成一个静态表,符合条件直接跳转(典型的空间换时间)。

ifelse属于逐条的去判断,效率较低

swich支持的类型:char、byte、short、int 和 Character、Byte、Short、Integer 和 String(java7以后)

ifelse更适合复杂条件判断语句,例如(a>b&&a

例外:当然较真的情况下,如果ifelse的第一条判断就为ture,理论上比swich快.

二、集合的选用问题


1、Andorid中,最常用的集合是List,和HashMap

问题:List的两个子类ArrayList和LinkedList分别适用什么场景?

1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。

2.对于随机访问get和set,ArrayList优于LinkedList,因为LinkedList要移动指针。

3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

经典台词:安全,说明是线程安全的,安全的一定有锁,效率较低。(安全效率低,不安全效率高)

你可能感兴趣的:(Java执行效率)