pursue wind pursue wind
首页
Java
Python
数据库
框架
Linux
中间件
前端
计算机基础
DevOps
项目
面试
书
关于
归档
MacOS🤣 (opens new window)
GitHub (opens new window)
首页
Java
Python
数据库
框架
Linux
中间件
前端
计算机基础
DevOps
项目
面试
书
关于
归档
MacOS🤣 (opens new window)
GitHub (opens new window)
  • 工具类

  • Java-集合框架

    • 集合概序
      • 集合概序
        • 1、为什么使用集合框架?
        • 2、集合框架包含的内容
    • LinkedList
    • Vevtor和Stack
    • List总结
    • HashSet
    • TreeSet
    • 迭代器
    • Collections工具类
    • ArrayList 源码分析
    • HashMap 源码详细分析(JDK1.8)
    • LinkedHashMap 源码详细分析(JDK1.8)
    • LinkedList 源码分析(JDK 1.8)
    • TreeMap源码分析
  • Java8

  • Java-多线程

  • Java计时新姿势√
  • Java中的BlockingQueue
  • Lambda表达式被首次调用时很慢?从JIT到类加载再到实现原理
  • 正则表达式
  • Java定时任务
  • JavaWeb

  • Java
  • Java-集合框架
pursuewind
2021-04-16
目录

集合概序

# 集合概序

# 1、为什么使用集合框架?

假设,一个班级有30个人,我们需要存储学员的信息,是不是我们可以用一个一维数组就解决了?

那换一个问题,一个网站每天要存储的新闻信息,我们知道新闻是可以实时发布的,我们并不知道需要多大的空间去存储,我要是去设置一个很大的数组,要是没有存满,或者不够用,都会影响我们,前者浪费的空间,后者影响了业务!

如果并不知道程序运行时会需要多少对象,或者需要更复杂的方式存储对象,那我们就可以使用Java的集合框架!

# 2、集合框架包含的内容

Java集合框架提供了一套性能优良,使用方便的接口和类,他们位于java.util包中。

接口和具体类

image-20210330134353432

算法

Collections 类提供了对集合进行排序,遍历等多种算法实现!

【重中之重】

  • Collection 接口存储一组不唯一,无序的对象

  • List 接口存储一组不唯一,有序的对象。

  • Set 接口存储一组唯一,无序的对象

  • Map 接口存储一组键值对象,提供key到value的映射

  • ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高

    image-20210330134530971

    image-20210330134636140

  • LinkedList采用链表存储方式。插入、删除元素时效率比较高

    image-20210330134556335

    image-20210330134705021

  • HashSet:采用哈希算法实现的Set

    HashSet的底层是用HashMap实现的,因此查询效率较高,由于采用hashCode算法直接确定 元素的内存地址,增删效率也挺高的。

Last Updated: 2023/02/14, 18:02:00
Excel
LinkedList

← Excel LinkedList→

Theme by Vdoing | Copyright © 2019-2023 pursue-wind | 粤ICP备2022093130号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
  • 飙升榜
  • 新歌榜
  • 云音乐民谣榜
  • 美国Billboard榜
  • UK排行榜周榜
  • 网络DJ