Java进阶第七章——数据结构:集合概述

1.集合概述

  • 集合:集合在实际上就是一个容器,数组也是一个集合。集合可以一次容纳多个对象。

  • 集合不能直接存储基本数据类型,也不能直接存储Java对象,集合存储的都是对象的内存地址。

  • 综上:集合在java中本身是一个容器,是一个对象。任何时候集合中存储的是"引用"。

  • 在java中不同的集合会对应不同的数据结构,往不同的集合中存储元素,等于数据放到了不同的数据结构当中。

  • 常见的数据结构:数组、二叉树、链表、哈希表......

  • 集合在java.util包下。java中集合分为两大类,

    每个值存储为一个存储元素:超级父接口为:java.util.Collection;

    键和值存储为一个元素(键和值):超级付接口为:java.util.Map;

2.Collection概述

  • Collection泛化有List和set接口。

  • List集合存储元素特点:存入时与取出时一样,可重复,存储元素有下标。ArrayList、LinkedList、Vector......实现了List:

    ArrayList:底层采用了数组这种数据结构。非线程安全。

    LinkedList:底层采用了双向链表数据结构。

    Vector:底层采用了数组这种数据结构。线程安全。

  • Set集合存储元素特点:存入时与取出时不一定一样,不可重复,没有下标。HashSet、TreeSet......实现了Set:

    HashSet:底层是HashMap

    TreeSet:底层是TreeMap。

3.Map概述

  • Map集合和Collection集合没有关系,Map集合以key和value这种键值对应方式存储元素。
  • key和value都是存储java对象的内存地址。
  • HashMap:底层是哈希表数据结构,是非线程安全的
  • Hashtable:底层是哈希表数据结构,是线程安全的。
  • TreeMap:底层原理是二叉树数据结构。key值可以自动按照大小顺序排序
  • Properties:是线程安全的,key和value只能存储字符串String。

`

------本章节为个人学习笔记。学习视频为动力节点Java零基础教程视频:动力节点---JAVA零基础教程视频

相关推荐
老师我太想进步了20262 小时前
【数据结构-3】算法美学之降复杂度
数据结构·算法
AI你一生一世8 小时前
不止于时序存储:DolphinDB 如何成为 AI 时代的工业智能底座
java·人工智能·struts·时序数据库·工业智能·dolphindb·ai基础设施
布莱克6058 小时前
C/C++ 中变量的声明与定义:区别、联系与常见误区
c语言·开发语言·c++·声明·定义
云-缩影8 小时前
拆解 AI 图像生成应用的后端架构:ECS、OSS 和大模型 API 怎么配合
java·spring boot·后端
LabVIEW开发8 小时前
LabVIEW 局部变量为何引发竞争条件?四种同步机制
开发语言·labview
瑞克-桑切斯9 小时前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
benchmark_cc9 小时前
A 股、港股、美股如何建立统一的标的主数据格式?
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
Zenova EdgeOS10 小时前
Go 工业边缘错误处理实战:用 errors 构建可追溯错误链
开发语言·数据库·golang
取名真是10 小时前
Python 算法知识点从基础到进阶
开发语言·python·算法
FRing0311 小时前
vue2干货总结3(computed计算属性、watch监听器)
开发语言·前端·vue.js·vue2