🎬 HoRain云小助手个人主页

 🔥 个人专栏: 《Linux 系列教程》《c语言教程

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

1. 字典

2. 集合

3. 性能特点

4. 典型应用


img

在 Julia 中,字典和集合是两种非常实用且基于哈希表实现的数据结构。

1. 字典

字典用于存储键值对,其中键是唯一的。它的类型是 Dict{K, V},其中 K是键的类型,V是值的类型。

基本操作:

# 创建字典
d = Dict("a" => 1, "b" => 2, "c" => 3)

# 访问元素
println(d["a"])  # 输出 1

# 添加或修改元素
d["d"] = 4
d["a"] = 10

# 检查键是否存在
haskey(d, "b")  # true

# 获取所有键或值
keys(d)
values(d)

# 删除键
delete!(d, "c")

# 遍历字典
for (key, value) in d
    println("$key: $value")
end

2. 集合

集合用于存储不重复的元素,支持数学中的集合运算。它的类型是 Set{T}

基本操作:

# 创建集合
s1 = Set([1, 2, 3, 3, 4])  # 自动去重
s2 = Set([3, 4, 5, 6])

# 基本运算
union(s1, s2)      # 并集: {1, 2, 3, 4, 5, 6}
intersect(s1, s2)  # 交集: {3, 4}
setdiff(s1, s2)    # 差集 (在s1中但不在s2中): {1, 2}
issubset(s1, s2)   # 判断子集: false

# 添加/删除元素
push!(s1, 5)
pop!(s1, 2)  # 删除元素2

3. 性能特点

  • 二者都基于哈希表,平均时间复杂度为 O(1)

  • 字典的键和集合的元素必须是可哈希的类型

  • 注意:字典不保证插入顺序(Julia 1.0+),如需有序可用 OrderedDict

4. 典型应用

  • 字典:映射关系、计数器、快速查找表

  • 集合:去重、成员检查、集合运算

两者都是 Julia 中高效的数据容器,选择依据取决于你的需求:需要键值对就用字典,只需要存储不重复元素就用集合。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐