langhua9527 2010-02-02 11:30 采纳率: 0%
浏览 534
已采纳

要存1000到2000个对象到内存里面,用那种数据结构比较好

[color=red][size=xx-large]现在的需求是,大约有1000到2000个对象要保存到内存(ServletContext)里面,然后每个对象都有一个唯的标志,比如说QQ号码(或电子邮箱)

现在给出600到800个QQ号码(或电子邮箱)把这600到800个对象从内存里面找出来

用什么数据结构去保存比较方便LIST SET MAP还是什么?怎样才能查出来的又快又好?

先谢谢大家了
[/size][/color]

  • 写回答

25条回答 默认 最新

  • Rainy-Zhang 2010-02-07 11:56
    关注

    说下Map的原理,JavaAPI使用了一个默认大小数组,这个大小你可以自己设置Hash因子
    1.put一个数据的时候先计算出Key的Hashcode
    2.然后使用这个Hashcode对数组的大小进行求余
    3.余数就是对象应该放入的数组位置,而这个数组里装着一个链表,一般情况是没有哈希冲突的,所以可以直接存入,如果该位置已经存在一个元素,被称为哈希冲突,这个时候就直接放入链表末尾(查找的时候也是这个步骤,当发现有冲突就进行遍历)

    这也是为什么Hash表要求重写hashcode和equals方法

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(24条)

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)