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

scala中的case class

package test_27
//Set的特点:唯一(元素不同);无序
//case class定义一组数据
case class Book(var bookName:String,var author:String,var price:Double){}
object caseclass {def main(args: Array[String]): Unit = {//定义一个可变setval set1=scala.collection.mutable.Set[Book]()//向Set中添加两条一样的数据val book1=new Book("西游记","吴承恩",100)val book2=new Book("西游记","吴承恩",100)val book3=new Book("西游记","吴承恩",100)println(book1==book2)set1+=book1set1+=book2set1+=book3set1.foreach(s=>{println(s.author)})}}

 去掉case还能否去重?

package test_27
//Set的特点:唯一(元素不同);无序
//case class定义一组数据
//case class Book(var bookName:String,var author:String,var price:Double){
//
//}class Book(var bookName:String,var author:String,var price:Double){//判断是否相等的逻辑bookName相等override def equals(obj: Any): Boolean = {
//    println("equal")
//   trueval ob=obj.asInstanceOf[Book]ob.bookName==bookName}override def hashCode(): Int = bookName.hashCodeoverride def toString: String = s"书名:$bookName\t 作者:$author \t 价格:$price"
}//1.属性的默认修饰是val(不可变),说明定义对象不能改属性
//2.可以省略new
//3.case class它自动提供:
//equals方法
//hashCode方法
//toString方法
case class Student( name:String)
object caseclass {def main(args: Array[String]): Unit = {val s1=new Student("小花")
println(s1)//定义一个可变setval set1=scala.collection.mutable.Set[Book]()//向Set中添加两条一样的数据val book1=new Book("西游记","吴承恩",100)val book2=new Book("西游记","吴承恩",100)val book3=new Book("西游记","吴承恩",100)println(book1==book2)set1+=book1set1+=book2set1+=book3set1.foreach(s=>{println(s.author)})}}

 

相关文章:

scala中的case class

package test_27 //Set的特点:唯一(元素不同);无序 //case class定义一组数据 case class Book(var bookName:String,var author:String,var price:Double){} object caseclass {def main(args: Array[String]): Unit {//定义一个…...

探索 HTTP 请求方法:GET、POST、PUT、DELETE 等的用法详解

文章目录 前言一、GET 方法:用于获取资源二、POST 方法:用于提交数据三、PUT 方法:用于更新资源四、DELETE 方法:用于删除资源五、PATCH 方法:用于部分更新资源六、HEAD 方法:用于请求响应头七、OPTIONS 方…...

前端项目中,public文件下的system.js有什么作用

‌SystemJS在前端项目中的作用主要包括模块加载、资源管理和兼容性处理。‌ 模块加载 SystemJS是一个通用的模块加载器,支持多种模块规范,包括CommonJS、AMD、全局模块对象和ES6模块。通过使用插件,它还可以加载CoffeeScript和TypeScript。…...

odoo-040 odoo17前端的js方法调用后端py方法action报错

文章目录 问题描述梳理写法xml写法前端方法后端action的写法 错误解释 问题描述 在前端的kanban视图上添加了几个自定义按钮,按钮点击可以跳转到对应的tree视图,在写按钮调用方法的时候报错如下: 前端调用后端action报错: actio…...

图形 2.7 LDR与HDR

LDR与HDR B站视频:图形 2.7 LDR与HDR 文章目录 LDR与HDR基本概念LDRHDR为什么需要HDR不同显示屏的差异 Unity中的HDRCamera HDR 设置Lightmap HDR设置拾色器 HDR设置优缺点 HDR与Bloom通常Bloom渲染步骤渲染出原图获取图像中较亮部分高斯模糊叠加 Unity中Bloom渲染…...

DP动态规划基础题(Kadane算法)

动态规划(Dynamic Programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学等领域中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划算法通常用于优化问题,特别是那…...

[UnLua]动态创建SceneCapture2d相机,并且添加渲染目标纹理

在 Unlua 开发中,相机相关的操作是构建场景视觉效果的重要部分。以下我们来详细分析一段涉及相机实例化和为相机赋予纹理目标的 Unlua 代码。 -- 实例化相机local World self:GetWorld()maskCamera World:SpawnActor(UE.ASceneCapture2D)-- 给相机赋值纹理目标lo…...

【leetcode练习·二叉树】用「分解问题」思维解题 I

本文参考labuladong算法笔记[【强化练习】用「分解问题」思维解题 I | labuladong 的算法笔记] 105. 从前序与中序遍历序列构造二叉树 | 力扣 | LeetCode | 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵…...

【gitlab-ce】各组件介绍

主要组件功能接介绍(chatgpt回答的) nginx:作为Web服务器和反向代理,用于访问GitLab的Web界面。可以关闭,但会导致无法通过Web界面访问GitLab。prometheus_monitoring:提供监控和报警功能,收集和…...

PostgreSQL分区表:基础语法与运维实践

引言 简介:什么是数据库分区 数据库分区是一种将大型表物理上分割成多个较小的部分的技术。每个部分称为一个分区,这些分区可以分布在不同的存储设备上,以提高查询性能和管理效率。 为什么使用分区表 提高查询性能:通过减少需…...

Docker入门系列——DockerFile的使用

前面了解了Docker的基本概念,今天来认识一下DockerFile。 Dockerfile 是一个文本文件,包含一系列指令来组装 Docker 镜像。每个指令执行一个特定动作,例如安装包、复制文件或定义启动命令。正确使用 Dockerfile 指令对于构建高效容器至关重要…...

数据集平台分享

Kaggle: Your Machine Learning and Data Science CommunityKaggle is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals.https://www.kaggle.com/Kaggle 包含非常丰富的数据集和代码,…...

去地面算法——depth_clustering算法调试(1)

1 源码下载 论文: 《2016-Fast Range Image-Based Segmentation of Sparse 3D Laser Scans for Online Operation》 《2017-Efficient Online Segmentation for Sparse 3D Laser Scans》 代码:git链接 2 问题记录 2.1 无法找到qt问题 问题截图&…...

设计模式-七个基本原则之一-单一职责原则 + SpringBoot案例

单一职责原理:(SRP) 面向对象七个基本原则之一 清晰的职责:每个类应该有一个明确的职责,避免将多个责任混合在一起。降低耦合:通过将不同的职责分开,可以降低类之间的耦合度,提高系统的灵活性。易于维护:当…...

HWA高速辅助驾驶系统组成及功能场景

HWA最基本功能包括智能跟车、拨杆变道、压速变道、车道居中保持等功能,有效减轻驾驶疲劳。随着智能驾驶不断走向成熟,HWA升级到高速自动驾驶HWP,可实现智能避让汇入口、智能避让大车、分心/疲劳监测、智能进出匝道、智能判别易混分叉路口、智…...

SpringMVC学习笔记(一)

一、SpringMVC的基本概念 (一)三层架构和MVC 1、三层架构概述 我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就是浏览器服务器。在 JavaEE 开发中&…...

kaggle 如何利用API下载数据集

首先 上传kaggle官网生成得 API 密钥: kaggle.json 文件。放到该代码同目录下,再运行一下代码。 注: 只需要修改下载竞赛数据集,就可以选择你的指定数据集。 jupyter文件运行 #首先 上传 kaggle.json 文件并设置 API 密钥 #再…...

第一个 Flutter 项目(1)共46节

前端开发工具vs code,安装Flutter sdk,如果你的下载速度比较慢,可以选择这个😄 flutter sdk 解压码:stwq 配置可以看这Flutter 新建工程一直等待 解决办法-CSDN博客 如果你是新的 Flutter 开发者,我们建…...

学术论文写作丨机器学习与深度学习

目录 第一章、ChatGPT-4o使用方法与技巧 第二章、ChatGPT-4o辅助文献检索、总结与分析 第三章、ChatGPT-4o辅助学术论文选题、创新点挖掘与实验方案设计 第四章、ChatGPT-4o辅助学术论文开题与大纲生成 第五章、ChatGPT-4o辅助学术论文写作马拉松活动介绍 第六章、ChatGP…...

导-4涉及的知识点

除了本课题,3D结构几何修复领域还有以下一些值得关注的研究: 1. **Poisson图像编辑**: 成功地将给定的纹理块融合到可能完全不同的背景图像上。 2. **张量投票(TV)框架**: - 讨论了使用张量投票框架进…...

云计算——弹性云计算器(ECS)

弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

【Oracle APEX开发小技巧12】

有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...