1、equal与==的区别
1、== 能比较一切(基本数据类型,引用型数据类型,数组)比较的是(基本数据类型是值,引用数据类型是地址,就是完全的相等的一个对象)
2、equals只能比较(引用数据类型,数组)。包装类和String都是比较的里面的值。里面的值相同则是ture,不管new不new。而对象,也是比较的地址,其他情况都是不相等。
2、ArrayList与LinkedList对比,以及删除一个E对象的时间复杂度
Java中ArrayList和LinkedList区别 时间复杂度 与空间复杂度
ArrayList的删除的时间复杂度是O(n) = for找到元素 + arraycope后面的元素填充过来
LinkedList也是O(n) = for找到元素
虽然ArrayList的remove(int index)和remove(Object o)也是O(n)时间,但是移动耗费的时间远比LinkedList中往后寻址来的快得多,特别是元素很多的时候。JDK的源码里,这个操作是用System.arraycopy()来做的。所以,这时,LinkedList的最为坑爹的地方,也是最令人不解的地方就出现了——remove的操作居然比ArrayList还慢,而且慢的多!
通常说的Al是O(n) LL是O(1)(unlink(Node e)方法是O(1) ,因为Node节点已经制定了)是因为在已知 i 或者是LinkedList的位置的时候。因为AL虽然不用找,但是要移动后面元素。LL直接删。
当删除的数量多了,ArrayList删除的时间就慢,因为他要不断的向前移动数字。
而LinkedList删除的快,linkedList只要找到了以后,直接断链接上就行。而linkedlist不用移动
若只对单条数据插入或删除,ArrayList的速度反而优于LinkedList(LinkedList数据结构导致,单次寻找有些慢,而ArrayList中,复制数组移动system.arrayof()效率比较高)。但若是批量随机的插入删除数据,LinkedList的速度大大优于ArrayList. 因为ArrayList每插入一条数据,要移动插入点及之后的所有数据。 这一点我做了实验。在分别有200000条“记录”的ArrayList和LinkedList的首位插入20000条数据,LinkedList耗时约是ArrayList的20分之1。
https://blog.youkuaiyun.com/qq_21544879/article/details/51909473
或者是删除指定的一个节点,例如都删除第一个元素。AL是O(n),因为要把后面元素往前移动;LL是O(1),因为在对象中有指向第一个节点的指针,所以直接删除
3、三张图片平分一个界面 Layout_weight
4、startservice 与 broadcast的区别