java中的集合学习

java中的集合分为 value 、key-value(Collection、Map)两种

存储值又分为 List和Set

List和Set的区别

  • List是有序的,可以重复
  • Set是无序的,不可以重复的。根据equals和hashcode判断(一个对象要存储在Set中,必须重写equals和hashcode方法)。

List常用的有ArrarList 与LinkedList(源码分析详见http://www.jianshu.com/p/0f3e65f68681)

ArrarList 与LinkedList的区别

  • ArrarList底层使用是数组,LinkedList使用的是链表
  • 数组查询具有索引,查询特定元素比较快,而插入和删除比较慢(数组在内存中是一块连续的内存,如果插入或删除是需要移动内存)
  • 链表不需要内存是连续的,在当前元素中存放下一个或上一个元素的地址,查询时需要从头部开始,一个一个的查找,所以查询效率低。插入时不需要移动内存只需要改变引用指向即可所以插入或删除的效率高。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-java.h...
    eddy_wiki阅读 1,183评论 0 16
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,366评论 11 349
  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 4,288评论 0 16
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 1,518评论 0 3