大家,如果我插入多条信息,每条信息包括编号,供应商,等级,用户等。我想用编号作为关键字,来实现插入,查询时也是输入编号然后显示与该编号相关的一系列信息不知什么数据结构比较好。
如果是放到内存中,建议用HashMap或者HashTable(线程安全),如果考虑遍历顺序问题,建议用LinkedHashMap,哈希表结构查询特别快,但是相比List会略占内存,不过现在内存都不是瓶颈。
如果放到数据库中就不纠结了,加个索引就OK
LinkedList会更好点
ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
HashSet,以编号为key类型,对象本身为value类型,这样根据编号查找最快
你的数据是保存到哪里,如果是数据库就很简单的,如果是保存到内存中的话,建议使用Map这个数据接口,
你将编号作为key,保存的信息数据作为值,获取的时候根据编号在map中获取就可以了,
楼上说的是什么鬼,LinkedList?获取的时候自己在遍历一次判断编号吗?LinkedList内部的数据结构是链表,获取数据遍历就很慢,不懂还乱讲,我靠。
就查找来说肯定是ArrayList更好,就插入删除操作来说LinkedList更好
查询比较多用ArrayList , 增删改比较常用使用双向链表linkedList
用LinkedList,顺序不会乱
您好,我认为ArrayList和LinkedList都可以满足您的需要,但如大家所说,ArrayList在查找上更胜一筹,而LinkedList在增删改上更优越,这就要看您具体功能的需要了,下面这篇文章从时间复杂度和空间复杂度详细比较了两者的区别,http://pengcqu.iteye.com/blog/502676
希望我的回答对您有所帮助,如果解决了您的问题,请采纳,谢谢支持。
使用ArrayList比较简单,查询建设使用这个接收结果集
使用ArrayList比较简单,查询建设使用这个接收结果集