ArrayList、LinkedList、HashMap 这三个分别的用法?比如实现网站上的哪些功能的时候该选用哪一个?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArrayList、LinkedList、HashMap 这三个分别的用法?比如实现网站上的哪些功能的时候该选用哪一个?相关的知识,希望对你有一定的参考价值。
一般我们用ArrayList就可以了,LinkedList是双向链表,很少用。ArrayList是List集合,里面放的是单一的任意不为空的对象,HashMap是一个哈希表,是key-value键值对。
着两者的用途是不一样的。使用的场景有很多很多,这里举两个例子:
1)比如你要查询数据库,将当前系统所有的用户都列出来,那么你就可以用ArrayList,将用户对像都放到ArrayList里,然后到页面上遍历出来。
2)如果你想缓存系统里所有用户的权限信息,并且以后随时可以根据用户名来获取相应的角色信息,那么你就可以用map来实现。可以map.put(userName, roleInfo);获取的时候,直接调用下map.get(userName)即可,是不是很方便? 如果你放到List里,反而不方便了,因为要遍历。 参考技术A 用什么都行。
建议你去学数据结构。 参考技术B 一般 我们是查询操作 常用 arrayList
如果你的集合经常要插入、删除可以选择 linkedList
hashMap字典表,在确定对应关系下 优先选用,查询效率最高 参考技术C arraylist和linkedlist绝大多数用法相同,linkedlist是双向链表,可以双向操作,而且有比较方便方法,比如addfirst(),而HasMap里面用(key,value)存如集合,采用散列表排列,主要特点是无序,不重复!看你网站要实现的功能是什么。比如是用户账号,资料这些,建议用hashmap因为查找非常方便!效率也高。
ArrayList与LinkedList的区别
两者区别大致分为以下几点:
1.ArrayList采用的是采用的是数组形式保存数据,这种方式将对象放在连续的位置中(线性存储);LinkedList采用的将对象放在独立的空间中,每个空间还保留下一个节点链接的索引(链式存储)。
2.对于随机访问get和set方法,ArrayList优于LinkedList,LinkedList需要移动指针。
3.对于增加和删除操作,LinkedList更加优秀,因为ArrayList需要移动数据。
4.查找操作indexOf和lastIndexOf、contains,两者差不多。
以上是关于ArrayList、LinkedList、HashMap 这三个分别的用法?比如实现网站上的哪些功能的时候该选用哪一个?的主要内容,如果未能解决你的问题,请参考以下文章
ArrayList、LinkedList、HashMap哪个速度更快
ArrayList 和 LinkedList 的区别(底层数据结构): 什么时候使用arrayList,什么时候使用LinkedList (一个小时)