1、哪一个 List 实现了快插入?
答:
LinkedList 和 ArrayList 是另个不同变量列表的实现。
ArrayList 的优势在于动态的增长数组,非常适合初始时总长度未知的情况下使用。
LinkedList 的优势在于在中间位置插入和删除操作,速度是快的。
LinkedList 实现了 List 接口,允许 null 元素。
此外 LinkedList 提供额外的 get,remove,insert 方法在 LinkedList 的首部或尾部。
这些操作使 LinkedList 可被用作堆栈 (stack),队列 (queue) 或双向队列 (deque)。
ArrayList 实现了可变大小的数组。它允许所有元素,包括 null。
每个 ArrayList 实例都有一个容量(Capacity),即用于存储元素的数组的大小。
填写下面表单即可预约申请免费试听java课程!害怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
这个容量可随着不断添加新元素而自动增加,但是增长算法并没有定义。
当需要插入大量元素时,在插入前可以调用 ensureCapacity 方法来增加 ArrayList 的容量以提高插入效率。
2、什么时候使用 ConcurrentHashMap?
答:
ConcurrentHashMap 被作为故障安全迭代器的一个实例,它允许完整的并发检索和更新。
当有大量的并发更新时,ConcurrentHashMap 此时可以被使用。
这非常类似于 Hashtable,但 ConcurrentHashMap 不锁定整个表来提供并发,所以从这点上 ConcurrentHashMap 的性能似乎更好一些。
所以当有大量更新时 ConcurrentHashMap 应该被使用。
上一篇:面试时漂亮的回答
下一篇: 没有了
一级建造师二级建造师消防工程师造价工程师土建职称房地产经纪人公路检测工程师建筑八大员注册建筑师二级造价师监理工程师咨询工程师房地产估价师 城乡规划师结构工程师岩土工程师安全工程师设备监理师环境影响评价土地登记代理公路造价师公路监理师化工工程师暖通工程师给排水工程师计量工程师
执业药师执业医师卫生资格考试卫生高级职称护士资格证初级护师主管护师住院医师临床执业医师临床助理医师中医执业医师中医助理医师中西医医师中西医助理口腔执业医师口腔助理医师公共卫生医师公卫助理医师实践技能内科主治医师外科主治医师中医内科主治儿科主治医师妇产科医师西药士/师中药士/师临床检验技师临床医学理论中医理论