20230901工作心得:IDEA列操作lambda表达式加强版用法

news2024/9/20 14:39:36

今天是中小学开学时间,亦是9月的开始,继续努力。

今日收获较大的有四个地方,先说这四点。

1、IDEA列操作

使用场景:需要批量将Excel表格里的数据插入到数据库中,此时需要写大量的insert SQL语句。

比如像这样的,密码麻麻的,可能要插入几百条数据。

一条一条写,要写到天荒地老。所以就需要IDEA里的列操作。

具体操作是:

按住Alt,找到要批量操作的位置,然后鼠标向下拖动。

但是有特殊情况,当上下不一齐的时候,这个方法就会失效。比如,这里,我要修改他们的年龄,但是按Alt然后往下拖动的时候,光标总是错位。

即使你按方向键,->,也会错位。


你可以这样操作:

如果每列开始位置不一样,先从整齐的那一列开始,按alt往下拖,然后ctrl + shift +左/右箭头或ctrl + w。跳到目标位置,然后按右键盘,停在那里,然后再ctrl + shift +左/右箭头,选择某个模块的信息,修改。

然后ctrl + shift +左/右箭头或ctrl + w,跳到目标位置

然后再ctrl + shift +左/右箭头,选择某个模块的信息,修改。

2、Lambda表达式加强版用法

以xx为分组,对象作为list。

Map<String, List<User>> something = list.stream().collect(Collectors.groupingBy(User::getName));

还可以xx为分组,然后进一步抽取具体的某个属性为list。

//这里是假代码,仅作示意

Map<String, List<name>> groupingByNameAge= list.stream().collect(Collectors.groupingBy(People::getName,Collectors.mapping(People::getFriends,Collectors.toList())));

3、标志位 没有返回

某天我写过巧用标志位,做标记,20230830工作心得:巧用标记位和For循环遍历但是在那里,我没有返回标志位,导致这个标志位没有更新,没有传递,相当于白写。

for (String phone : xxxGroupByPhone.keySet()) {
    Boolean isTransmitted = false;
    List<UserClue> phoneClue = xxxGroupByPhone.get(phone);
    for (UserClue userClue : phoneClue) {
        isTransmitted =  pushClueItem(userClue,isTransmitted);
    }
}
private Boolean pushClue(UserClue userClue,Boolean isTransmitted
) {
       if(xx){
        return true;
       };

       if(xx){
         return false;
       }
}

执行顺序:

4、善用Optional避免空指针

Optional<Order> optional = OrderRepository.findFirstByOrderNo(orderNo);
        return optional.map(this::decryOrder).orElse(null);
查询订单号为 orderNo 的第一个订单,并掉用this::decryOrder方法,将其加密后返回。如果没有找到匹配的订单,则返回 null。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/960062.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL - 函数

1.1 什么是函数&#xff1f; 要想实现上面的这些效果&#xff0c;就得借助于MySQL当中的内置函数。 函数&#xff1a;是指一段可以直接被另一段程序调用的程序或代码。 MySQL当中内置了很多的函数&#xff0c;根据其操作的数据类型&#xff0c;分为以下四类&#xff1a; 字符…

vue之若依字典的导入使用(不直接使用若依框架,只使用若依字典)

vue之若依字典的导入使用 若依官网&#xff1a;http://ruoyi.vip 若依演示地址&#xff1a;http://vue.ruoyi.vip 若依代码下载&#xff1a;https://gitee.com/y_project/RuoYi-Vue 以上地址是若依的相关地址&#xff0c;可以下载前后端分离版的若依前后端代码。 如果你不想直…

【附安装包】Multisim 14.0安装教程|电子电路

软件下载 软件&#xff1a;Multisim版本&#xff1a;14.0语言&#xff1a;简体中文大小&#xff1a;649.68M安装环境&#xff1a;Win11/Win10/Win8/Win7硬件要求&#xff1a;CPU2.5GHz 内存4G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;https://pan.bai…

深度学习基础篇 第二章: 转置卷积

参考教程&#xff1a; https://arxiv.org/pdf/1603.07285.pdf 文章目录 什么是转置卷积转置卷积的思想一维形式的理解二维形式的理解卷积和转置的关系no pading, unit stridespadding, unit stridesno padding, non-unit stridepadding&#xff0c;non-unit stride pytorch中的…

ububtu部署bind-dns 问题

启动(重启)命令如下&#xff1a; sudo systemctl restart bind9查看状态命令如下&#xff1a; sudo systemctl status bind9停止命令如下&#xff1a; sudo systemctl stop bind9#配置自己的域 要修改一下路径的文件(named.conf.local)&#xff1a; 在这个文件named.conf.loca…

java从入门到起飞(六)——用Socket实现网络通信

文章目录 背景网络编程网络编程三要素 2.DatagramSocket之UDP通信程序2.1 UDP发送数据2.2UDP接收数据2.3 3. Socket之TCP通信程序3.1TCP发送数据3.2TCP接收数据 背景 网络编程 ● 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备&#xff0c;通过通信线…

开始MySQL之路——MySQL 函数(详细讲解)

MySQL 函数 在MySQL中&#xff0c;为了提高代码重用性和隐藏实现细节&#xff0c;MySQL提高了很多函数。函数可以理解为别人封装好的模块代码。 在MySQL中&#xff0c;函数非常多&#xff0c;主要可以分为以下大类&#xff1a; 聚合函数&#xff1a;这类函数就是用来做简单的…

[深度学习]1. 深度学习知识点汇总

本文记录了我在学习深度学习的过程中遇到过的不懂的知识点&#xff0c;为了方便翻阅&#xff0c;故将其发表于此&#xff0c;随时更新&#xff0c;供大家参考。 深度学习常见知识点 1. 测试精度和训练精度 在深度学习中&#xff0c;测试精度和训练精度是两个重要的指标&#…

408考研-数据结构算法-双链表

双向链表的存储方式 双向链表跟链表差不多&#xff0c;只是它每个结点都含有两个链——一个指向下一结点&#xff0c;另一个指向前一结点。此外&#xff0c;它还能直接访问第一个和最后一个结点。 单链表只能向后操作&#xff0c;不可以向前操作。为了向前、向后操作方便&…

表白墙程序

目录 一、页面代码部分 二、设计程序 二、实现 doPost​编辑 三、实现 doGet 四、前端代码部分 五、使用数据库存储数据 一、页面代码部分 在之前的一篇博客中&#xff0c;已经写过了表白墙的页面代码实现&#xff0c;这里就不再重复了 页面代码如下&#xff1a; <!…

【Vue2】 axios库

网络请求库-axios库 认识Axios库为什么选择Axios库安装Axios axios发送请求常见的配置选项简单请求可以给Axios设置公共的基础配置发送多个请求 axios创建实例为什么要创建axios的实例 axios的拦截器请求拦截器响应拦截器 axios请求封装 认识Axios库 为什么选择Axios库 在游览…

git学习笔记 | 版本管理 - 分支管理

文章目录 git学习笔记Git是什么仓库常见的命令commit 备注规范在文件下设置git忽略文件 .gitignore 版本管理git log | git reflog 查看提交日志/历史版本版本穿梭 git resetgit reset HEAD <file> git checkout -- fileName 丢弃工作区的修改git revertGit恢复之前版本的…

海格里斯HEGERLS高密度料箱式四向穿梭车存储系统有哪些显著优势?

近些年仓储货架向着自动化、智能化发展&#xff0c;因此市面上出现很多不同类型的智能自动化仓储货架。其中&#xff0c;最受企业青睐的便是四向穿梭车货架。四向穿梭车货架根据其载重不同可分为托盘式和料箱式两大类。这两种不同类型的四向穿梭车货架在结构形式和控制方式上基…

Ubuntu20.04下安装google输入法

Ubuntu20.04下安装google输入法 1、添加中文语言支持 打开 系统设置——区域和语言——管理已安装的语言——在“语言”tab下——点击“添加或删除语言” 弹出“已安装语言”窗口&#xff0c;勾选中文&#xff08;简体&#xff09;&#xff0c;点击应用 回到“语言支持”窗…

日本橙皮书数据库—《医疗用医药品质量情报集》

日本橙皮书是一份关于医疗用医药品质量情报的汇总报告&#xff0c;由日本厚生劳动省发布。它主要涵盖了药品的品质再评价信息&#xff0c;特别是针对特定历史阶段的产品&#xff0c;笔者总结信息如下&#xff1a; ①日本橙皮书数据库包含了一系列药品的详细信息&#xff0c;如…

一句话画出动漫效果

链接&#xff1a; AI Comic Factory - a Hugging Face Space by jbilcke-hfDiscover amazing ML apps made by the communityhttps://huggingface.co/spaces/jbilcke-hf/ai-comic-factory 选择类型&#xff1a; Japanese 输入提示词&#xff1a; beauty and school love st…

视频云存储/安防监控/视频AI智能分析网关V3:消防器材缺失检测功能详解

在我们的日常生活中&#xff0c;消防器材是必不可少的&#xff0c;无论是在学校、园区还是工厂里&#xff0c;都需要摆放消防器材&#xff0c;做好防范措施&#xff0c;降低安全隐患。但有时也需防备消防器材被人为挪动甚至破坏&#xff0c;在危急时刻无法发挥作用。TSINGSEE青…

【kubernetes】Argo Rollouts -- k8s下的自动化蓝绿部署

蓝绿(Blue-Green)部署简介 在现代软件开发和交付中,确保应用程序的平稳更新和发布对于用户体验和业务连续性至关重要。蓝绿部署是一种备受推崇的部署策略,它允许开发团队在不影响用户的情况下,将新版本的应用程序引入生产环境。 蓝绿部署的核心思想在于维护两个独立的环…

lv3 嵌入式开发-1linux介绍及环境配置

目录 1 UNIX、Linux和GNU简介 2 环境介绍 3 VMwareTools配置 4 vim配置&#xff1a; 1 UNIX、Linux和GNU简介 什么是UNIX? unix是一个强大的多用户、多任务操作系统&#xff0c;支持多种处理器架构 中文名 尤尼斯 外文名 UNIX 本质 操作系统 类型 分时操作系统 开…