数据结构与算法

一、集合

基本集合
  • Collection
    • List 有序,可重复,索引速度快;插入删除速度慢
    • Set 无序,不可重复。位置由HashCode决定并由此判断是否重复
  • Map 键唯一,值多个

ArrayList LinkList

  • ArrayList 基于数组,索引快,增删慢
  • LinkedList 索引慢,增删快

ArrayList Vector

  • Vector 线程安全,可以设置增长因子,效率低
  • ArrayList 非线程安全

HashMap扩容

  • 容器中元素个数大于等于阈值,就自动扩容

二、排序

  • Arrays.sort函数。对于基础类型,底层使用快速排序。对于非基础类型,底层使用归并排序。请问是为什么?
  • 答:这是考虑到排序算法的稳定性。对于基础类型,相同值是无差别的,排序前后相同值的相对位置并不重要,所以选择更为高效的快速排序,尽管它是不稳定的排序算法;而对于非基础类型,排序前后相等实例的相对位置不宜改变,所以选择稳定的归并排序。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 此文已经同步至个人站点博客,点击下方链接可以体验更加阅读模式:《java题库》 一、Set 1.Set 里的元素是...
    千淘萬漉阅读 3,715评论 0 8
  • 前言 Java中集合大家族的成员实在是太丰富了,有常用的ArrayList、HashMap、HashSet,也有不...
    AndryYu阅读 1,497评论 0 1
  • 1、 常用数据结构简介 a、数组:顺序存储,随机访问 链表:链表存储,顺序访问b、栈,分为栈顶和栈底,遵循先...
    谷哥得小弟阅读 18,178评论 0 40
  • 此文已经同步至个人站点博客,点击下方链接可以体验更加阅读模式:《java题库》 一、基础类型(Primitives...
    千淘萬漉阅读 4,477评论 3 2
  • 风吹散了云 云遮住了月 月迷晕了夜 夜投降了光 光败给了霾 风、云、月、夜、光 每个个体独特存在 各自风光 各自绚...
    照小阳阅读 249评论 2 4

友情链接更多精彩内容