Android面试知识整理-算法数据结构

ArrayList

add方法:arraycopy将当前位置后面的数据,向后移一个位置,再将新添加元素,添加到指定位置

remove方法:arraycopy将当前位置后面的数据,向前移一个位置,设置最后一个位置为null

set方法:AbstractList中的方法,get当前位置,替换当前位置的值

get方法:查询当前位置的值

ArrayList扩容:原来的大小不够,自动扩容,扩容之后size为size=size+2*size

ArrayList继承Iterator、List、Collection,遍历ArrayList删除元素,要用Iterator的remove,实现顺序删除,for循环会有数组size不正确问题

LinkedList:Linkedlist是双链表结构的,双链表结构为previous->数据->next,单链表结构为数据->next

add和remove方法:需要修改previous和next对象,重新调整指向,注意add时的调整顺序

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容