当前位置: 首页 > news >正文

cangjie仓颉程序设计-数据结构(四)

文章目录

      • ArrayList
      • LinkedList
      • HashSet
      • HashMap
      • TreeMap

本专栏还在持续更新: Cangjie仓颉程序设计-个人总结
这是双子专栏: 仓颉编程cangjie刷题录

这些数据结构都在std.collection.*中。暂时官方包还没有stack, queue等数据结构。服了

import std.collection.*

ArrayList

在数据定义时,可以只指定大小而不必初始化。
建立与常用操作

let a = ArrayList<String>() 
let b = ArrayList<String>(100)	// 100个元素
let c = ArrayList<Int64>([0, 1, 2]) 
let d = ArrayList<Int64>(c)
let e = ArrayList<String>(2, {x: Int64 => x.toString()})var arr = ArrayList<Int>([0, 1, 2, 3])
arr.append(520)
arr.remove(arr.size - 1)
arr.insert(0, 999)
arr.reverse()
var array = arr.toArray()

LinkedList

同ArrayList

HashSet

在数据定义时,可以只指定大小而不必初始化。

let a = HashSet<String>() 
let b = HashSet<String>(100)  // 100个元素
let c = HashSet<Int64>([0, 1, 2])
let e = HashSet<Int64>(10, {x: Int64 => (x * x)}) c.contains(1)	// true
c.put(3)
c.remove(1)

HashMap

let a = HashMap<String, Int64>() 
let b = HashMap<String, Int64>([("a", 0), ("b", 1), ("c", 2)]) 
let c = HashMap<String, Int64>(b) 
let d = HashMap<String, Int64>(10) 
let e = HashMap<Int64, Int64>(10, {x: Int64 => (x, x * x)}) var map = HashMap<Int, Int>([(1, 1), (2, 4), (3, 9)])
for ((k,v) in map) { println("${k} ${v}") }
map[4] = 16
map.put(5, 25)
map.contains(6)
map.remove(5)
var keys = map.keys()
var values = map.values()

TreeMap

使用同HashMap。
但是内容有序


http://www.mrgr.cn/news/64789.html

相关文章:

  • [LeetCode] 面试题08.01 三步问题
  • 企业实现数字化转型需要考虑的方面?
  • LeetCode题练习与总结:超级次方--372
  • ‌SSB在时域上的特征
  • RHCE-SElinux+防火墙
  • Web Broker(Web服务应用程序)入门教程(5)
  • 软考高级之系统架构师之安全攻防技术
  • 固定VMwareIP地址
  • 【Vue】Vue项目创建步骤
  • 无线配置实验
  • 淘宝 API 多语言接入:释放技术开发新潜力
  • DNS域名系统
  • C语言编译所有知识点
  • 记住电机原理及几个重要公式,搞清楚电机so easy
  • 如何确保多进程中的数据一致性?
  • 【基础】使用template替换yaml中的变量
  • 【运动的&足球】足球场上球检测系统源码&数据集全套:改进yolo11-DGCST
  • 【网络面试篇】HTTP(1)(笔记)——状态码、字段、GET、POST、缓存
  • Zypher Network:全栈式 Web3 游戏引擎,服务器抽象叙事的领导者
  • 《TCP/IP网络编程》学习笔记 | Chapter 2:套接字类型与协议设置