Android_Question
Android_Question copied to clipboard
ArrayList 和LinketList区别?hashmap的实现原理?hashmap与hashtable的区别?
ArrayList与LinketList差别:
ArrayList基于数组实现,所以get,set操作效率较高;
LinketList基于链表实现(双向链表),所以add,remove操作效率较高;
如何实现高效率的查询和插入结构?
二叉树或者散列表
HashMap实现原理:
hashmap是由数组+链表结构现实的。获取到key的hashcode,然后对数组长度取余,找到对应的数组位置index,然后在对应的链表中判断是否有当前key,从而进行查询/添加/替换等操作。
HashMap与HashTable区别:
求别在学了,老子跟不上了~
1.8jdk的HashMap优化为红黑树,又会考你什么时候红黑树会退化为链表...doge~
1.8jdk的HashMap优化为红黑树,又会考你什么时候红黑树会退化为链表...doge~
当链表长度大于8的时候,会转换成红黑树,否则就是链表结构