当前位置: 首页 > 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。
但是内容有序

相关文章:

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

文章目录 ArrayListLinkedListHashSetHashMapTreeMap 本专栏还在持续更新&#xff1a; Cangjie仓颉程序设计-个人总结 这是双子专栏&#xff1a; 仓颉编程cangjie刷题录 这些数据结构都在std.collection.*中。暂时官方包还没有stack, queue等数据结构。服了 import std.coll…...

Redis中储存含LocalDateTime属性对象的序列化实现

目录 1.问题1 向Redis中存入序列化对象 1.1引入 : 1.2解决方案&#xff1a; 1.2.1首先引入依赖 1.2.2然后在RedisConfig中进行配置 1.3 介绍下ObjectMapper 1.3.1 ObjectMapper 1.3.2 objectMapper.registerModule(new JavaTimeModule()); 1.3.3 GenericJackson2Js…...

蚁剑的介绍和使用

蚁剑介绍 蚁剑&#xff08;AntSword&#xff09;是一个开源的跨平台网站管理工具&#xff0c;主要用于渗透测试和安全研究。它提供了一个图形化界面&#xff0c;方便用户管理和操作被攻陷的网站。 安装教程&#xff1a; github官网&#xff1a;https://github.com/AntSwordPro…...

C++之多态的深度剖析(2)

前言 在前面内容中&#xff0c;我们对多态进行了基本的了解&#xff0c;对其中的虚函数进行着重的介绍&#xff0c;本节内容我们将进一步对多态的底层进行观察了解看看它是如何实现的。 多态如何实现 从底层的角度Func函数中ptr->BuyTicket()&#xff0c;是如何作为ptr指向P…...

一篇文章 介绍 shiro反序列化漏洞

shiro反序列化漏洞 Shiro-550反序列化漏洞&#xff08;CVE-2016-4437&#xff09; 漏洞简介 shiro-550主要是由shiro的RememberMe内容反序列化导致的命令执行漏洞&#xff0c;造成的原因是默认加密密钥是硬编码在shiro源码中&#xff0c;任何有权访问源代码的人都可以知道默认加…...

pyav保存视频

目录 imageio替代pyav imageio替代pyav import imageio import numpy as np import torch# 创建一个随机的图像张量&#xff0c;形状为 (N, C, H, W) # 这里 N 30&#xff08;帧数&#xff09;&#xff0c;C 3&#xff08;通道数&#xff09;&#xff0c;H 64&#xff08;…...

.bixi勒索病毒来袭:如何防止文件加密与数据丢失?

导言 在网络威胁剧烈的今天&#xff0c;勒索病毒已成为企业和个人面临的重大安全挑战&#xff0c;其中虫洞勒索病毒习得高强度的加密手段和急剧传播的特性引起关注。一旦感染&#xff0c;就会加密关键数据并索要赎金&#xff0c;导致数据无法访问并带来巨大的财务损失。更为严…...

MySQL安装配置教程

以下是 MySQL 在 Windows 系统下的安装配置教程: 1. 下载 MySQL 访问 MySQL 官方网站(https://dev.mysql.com/downloads/mysql/),根据您的操作系统版本(32 位或 64 位)选择合适的 MySQL 安装包。一般建议下载社区版(Community Server),它是免费且功能丰富的版本。2. …...

Pandas进行数据查看与检查

在数据分析的工作流中,数据的初步查看与检查是非常重要的步骤。通过这一步,可以快速了解数据的结构、属性以及一些关键的统计信息,确保数据符合预期,或者发现数据中的潜在问题。 借助 pandas 库中的常用方法,如 DataFrame.head()、DataFrame.tail()、DataFrame.info() 和…...

‌MySQL中‌between and的基本用法‌、范围查询

文章目录 一、between and语法二、使用示例2.1、between and数值查询2.2、between and时间范围查询2.3、not between and示例 BETWEEN AND操作符可以用于数值、日期等类型的字段&#xff0c;包括边界值。 一、between and语法 MySQL中的BETWEEN AND操作符用于在两个值之间选择…...

[ 问题解决篇 ] 解决远程桌面安全登录框的问题

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…...

ctfshow——web(总结持续更新)

文章目录 1、基础知识部分2、php伪协议2.1 php://input协议2.2 data://text/plain协议 3、webshell连接工具3.1 蚁剑连接一句话木马 4、各个web中间件重要文件路径4.1 Nginx 5、sqlmap使用6、php特性6.1 md5加密漏洞 7、TOP 10漏洞7.1 SQL注入 1、基础知识部分 识别base64编码…...

selinux介绍和Linux中的防火墙

selinux 1、selinux的说明 2、selinux的工作原理 3、selinux的启动、关闭与查看 防火墙 1、什么是防火墙 2、iptables &#xff08;1&#xff09;iptables介绍 参数说明 3、firewalld firewalld-cmd的参数说明...

Jenkins面试整理-如何配置 Jenkins Pipeline?

在 Jenkins 中配置 Pipeline 是将构建、测试、部署等流程自动化的重要方式。Pipeline 可以通过一个名为 Jenkinsfile 的文件配置,它允许你使用脚本定义流水线。下面是如何在 Jenkins 中配置 Pipeline 的详细步骤。 步骤 1: 准备 Jenkinsfile Jenkinsfile 是 Jenkins Pipeline …...

Java每日刷题之二分算法

34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣&#xff08;LeetCode&#xff09; 转化 通过题目时间复杂度为O(logN),我们就可以联想到二分算法&#xff0c;但是我们前面学到的算法&#xff0c;是查找出&#xff0c;有序数组里的值&#xff0c;并不是求其中的范围&a…...

【mod分享】极品飞车9仿虚幻引擎模组,支持光追,高清纹理材质,体验一会虚幻引擎风格的极品9

各位好&#xff0c;今天小编给大家带来一款新的高清重置MOD&#xff0c;本次高清重置的游戏叫《极品飞车9最高通缉》。 《极品飞车&#xff1a;最高通缉》作为一款2005年的游戏&#xff0c;《极品飞车&#xff1a;最高通缉》的画面效果还是可以的&#xff0c;效果全开之后很不…...

【启程Golang之旅】并发编程构建简易聊天系统

欢迎来到Golang的世界&#xff01;在当今快节奏的软件开发领域&#xff0c;选择一种高效、简洁的编程语言至关重要。而在这方面&#xff0c;Golang&#xff08;又称Go&#xff09;无疑是一个备受瞩目的选择。在本文中&#xff0c;带领您探索Golang的世界&#xff0c;一步步地了…...

微信小程序的开发流程

微信小程序开发流程 1. 注册微信小程序账号 进入微信公众平台&#xff08;mp.weixin.qq.com&#xff09;&#xff0c;选择小程序的账号类型按照流程进行注册。注意每个邮箱只能注册一个账号。 2. 下载开发工具 使用账号登录微信公众平台&#xff0c;在开发->开发设置-&g…...

十分钟快速让你搞懂 Vue3 和 React 的区别

前言 Vue 3和 React是市面上目前非常受欢迎的两个前端框架。它们都采用了组件化的开发模式&#xff0c;使得开发者可以将复杂的应用拆分为多个小组件进行开发&#xff0c;从而提高了代码的可维护性和重用性。然而&#xff0c;虽然Vue 3和React都拥有各自的优点&#xff0c;但它…...

头歌——机器学习(线性回归)

文章目录 线性回归简述答案 线性回归算法答案 线性回归实践 - 波斯顿房价预测LinearRegression代码 利用sklearn构建线性回归模型示例代码如下&#xff1a; 代码 线性回归简述 简单线性回归 在生活中&#xff0c;我们常常能碰到这么一种情况&#xff0c;一个变量会跟着另一个变…...

React Native聊天UI组件库集成指南:从Sendbird UIKit入门到高级定制

1. 项目概述&#xff1a;一个开箱即用的React Native聊天UI组件库如果你正在用React Native开发一个需要集成聊天功能的App&#xff0c;并且希望这个聊天界面看起来专业、交互流畅&#xff0c;同时你又不想从零开始造轮子&#xff0c;那么你很可能已经听说过或者正在寻找一个合…...

小智聊天机器人的本地化部署。

前天到了&#xff0c;小智机器人ESP32-S2的套件&#xff08;非焊接版的那一款&#xff09;&#xff0c;找王同学&#xff0c;学了学怎么焊接。昨天&#xff0c;使用面包板搭建电路&#xff0c;安装元器件&#xff0c;服务器端注册设置&#xff0c;刷程序&#xff0c;很快就完成…...

555定时器深度解析:从RC电路到三种工作模式的原理与应用

1. 项目概述在电子设计的工具箱里&#xff0c;有那么几颗芯片&#xff0c;你几乎可以在任何时代的电路板上找到它们的身影。它们可能不是性能最强的&#xff0c;但一定是应用最广、最经久不衰的。今天要聊的555定时器&#xff0c;就是这样一个“活化石”级别的存在。自上世纪70…...

Midjourney极简艺术风格实战手册(2024V6.2最新适配版):含17个已验证失效词黑名单与8组高通过率--sref权重组合

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney极简艺术风格的核心定义与美学边界 极简艺术风格在 Midjourney 中并非单纯减少元素&#xff0c;而是通过语义压缩、形式提纯与负空间策略构建高度凝练的视觉语言。其核心在于以最少的视觉单元…...

Arduino电机与舵机控制:从晶体管驱动到PWM调速实战

1. 项目概述与核心价值在机器人、智能小车或者任何一个需要“动起来”的嵌入式项目中&#xff0c;电机控制都是你绕不开的一道坎。你可能已经能让LED闪烁、让屏幕显示文字&#xff0c;但当你第一次尝试让一个小马达转起来&#xff0c;却发现Arduino板子上的引脚直接冒烟时&…...

MEMS传感器机械臂姿态检测【附代码】

✨ 长期致力于MEMS传感器、机械臂、惯性测量单元、数据融合、姿态检测系统研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;设计基于ICM20948的惯性测量…...

Office RibbonX Editor:打造个性化Office界面的终极工具

Office RibbonX Editor&#xff1a;打造个性化Office界面的终极工具 【免费下载链接】office-ribbonx-editor An overhauled fork of the original Custom UI Editor for Microsoft Office, built with WPF 项目地址: https://gitcode.com/gh_mirrors/of/office-ribbonx-edit…...

不只是标定:挖掘OpenCV findCirclesGrid在工业视觉中的另类玩法与参数调优

超越标定&#xff1a;OpenCV findCirclesGrid在工业视觉中的高阶应用与参数调优实战 在工业视觉领域&#xff0c;圆形网格检测一直扮演着关键角色。传统认知中&#xff0c;OpenCV的findCirclesGrid函数常被简化为相机标定的辅助工具&#xff0c;但其底层算法蕴含的几何约束与模…...

企业内网开发场景下,利用Taotoken实现大模型API的统一网关与审计

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 企业内网开发场景下&#xff0c;利用Taotoken实现大模型API的统一网关与审计 在中大型企业的研发环境中&#xff0c;引入大模型能力…...

Bifrost三星固件下载器:跨平台技术实现深度解析

Bifrost三星固件下载器&#xff1a;跨平台技术实现深度解析 【免费下载链接】Bifrost Cross-platform tool for downloading Samsung mobile device firmware. 项目地址: https://gitcode.com/gh_mirrors/sa/Bifrost 三星设备固件下载与解密过程历来存在技术门槛&#x…...