码迷,mamicode.com
首页 > 其他好文 > 详细

如何快速从 List 中查找一条数据

时间:2020-04-16 15:35:01      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:style   link   for   foreach   pre   顺序   链表   表结构   提升   

这是一个很经典的面试题,其实考了很多点

首先先问问,你这个List是ArrayList还是LinkedList

那么为什么要问这个呢,ArrayList和LinkedList区别我就不介绍了吧,ArrayList数组结构,LinkedList链表结构。

ArrayList 测试结果

for循环测试结果:11920
foreach循环测试结果:15765
iterator循环测试结果:13040
LinkedList 测试结果

for循环测试结果:146654
foreach循环测试结果:2061
iterator循环测试结果:2061

根据以上可以得到的结果是:for循环便于访问顺序存储(ArrayList)的记录,而foreach和迭代器便于访问链接存储(LinkedList)。

这回面试官又发问了,那如果我的list里面有1000w条数据呢?

首先,肯定是要多线程分段查找了,这回我查找的方式也要变一变了,那我就得反问你一句,面试官你的数据是有序的吗,如果是有序的,那么我们可以用二分查找,你看,又提升效率了,如果是无序的,那我咋办,老办法呗,你是Arraylist还是LinkedList啊。
最后的最后,你可以提出你的想法,告诉面试官,下次再有1000w条数据,可千万别放在List里面,hash化一下多好,要谁查谁

如何快速从 List 中查找一条数据

标签:style   link   for   foreach   pre   顺序   链表   表结构   提升   

原文地址:https://www.cnblogs.com/min225016/p/12712770.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!