请教一个集合的设计,用来存储一堆书籍对象,实现针对书名快速查询
如果单纯使用ArrayList存储书籍对象的话,速度会有点慢。
使用HashMap(书名:书对象)可行吗?
大家遇到类似的问题,是如何解决的。
注意,没涉及到数据库,单纯使用集合类。

解决方案 »

  1.   

    这种映射关系的,一般是用map 了,如果你想更快,可以看下 commons collection 中有什么另外的实现
      

  2.   

    我觉得可以或者你再高级一点 弄一个java.util.concurrent.ConcurrentHashMap; 我觉得也蛮好的哇 啊哈哈哈
      

  3.   

    楼主这样可以啊。常规情况下使用 ArrayList 存储元素,遇到需要根据键取值的时候,就从这个 List 创建一个 Map 来用。
      

  4.   

    谢谢各位解答
    我本来也是想用HashMap的
    想来问问有什么更好的办法
    遇到需要根据键取值的时候,就从这个 List 创建一个 Map 来用。
    请问是什么意思?
      

  5.   

    list里面不是只可以存1个东西嘛  
    然后你map里面存2个东西 一个东西是你存在list里面的那个东西 比如书名好了  然后还有一个东西 比如书的对象我觉得3楼是这个意思哇 呵呵呵呵 
      

  6.   

    呵呵,你的意思是map内放(书名-对象),list内放map啊?
    恐怕没有必要吧?
    如果采用list内放map,我觉得还不如list内直接放书合适。
      

  7.   

    不是  是list里面放书名
    map里面放书名(list) 和 对象
      

  8.   

    list直接放书,不能满足LZ的需求?
      

  9.   

    那怎么放?
    map.put(list,book1)
    map.put(list,book2)?