草庐IT

Stream流实践(二):list 对象数组根据某字段去重的三种基本思路

前言相信大家对于list简单数组的去重很熟悉了,例如以下代码int[]arrays={1,2,2,2,3,3,3};Arrays.stream(arrays).distinct().forEach(item->{System.out.println("item->"+item);});那我们来探讨下,对于list中保存为对象的数组,根据内部对象的某一个字段去重有什么好的思路呢?给出一个简单的Student对象publicclassStudent{Stringid;Stringindex;Stringname;} 针对该Student对象,以下是我想到的三种方法去重方法方法一:List.cont

数通王国历险记之TCP协议的三次握手和四次挥手

系列文章目录数通王国历险记(2)目录前言 一、TCP我们称之为可靠的传输层协议,为什么称它为可靠呢?二、TCP的建立——三次握手1,提前知道TCP协议报文中都有些啥?2.第一次握手总的来说:就是PC1向PC2发出一个同步报文说,我想和你建立连接3,第二次握手总的来说:就是PC2同意和PC1建立连接,同时确认告诉PC1自己也想和PC1建立连接和的自己已经收到了PC1的同步报文的这件事4,第三次握手总的来说:就是PC1对PC2发送消息说:我已经收到你的同步报文和确认报文了,关系就此建立。三,TCP关闭----四次挥手1,为什么是四次挥手呢?2.第一次挥手提前知道:因为四次挥手有两次是重复的,只不过

K8S deployment 重启的三种方法

一般重启deployment,常规操作是删掉对应的pod,但如果有多个副本集的话,一个个删很麻烦。除了删除pod,还可以:方案一:加上环境变量kubectlpatchdeploy-p'{"spec":{"template":{"spec":{"containers":[{"name":"","env":[{"name":"RESTART_TIME","value":"'$(date+%s)'"}]}]}}}}'方案二:重新设置镜像kubectlsetimagedeploy/=-n方案三:使用rolloutkubectlrolloutrestartdeploy-nPS:rolloutrestar

【SpringBoot】获取HttpServletRequest的三种方式

方法一:Controller中增加request参数@RestControllerpublicclassDemoController{@RequestMapping("/demo")publicvoiddemo(HttpServletRequestrequest){System.out.println(request.getParameter("hello"));}}线程安全缺点:每个方法都需要写一遍方法二:自动注入@Slf4j@RequestMapping(path="/request")@RestControllerpublicclassDemoRequestController{@Res

vue路由传参的三种方式

目录1.动态路由传参2.params传参3.query传参1.动态路由传参    使用“路径参数”使用冒号 : 标记。当匹配到一个路由时,参数值会被设置到 this.$route.params,也可以使用props来接收//路由{path:"/test/:id",name:"test",component:Test}//跳转方式有三种写法://或者this.$router.push("/test/123")//或者使用params传参this.$router.push({name:test,params:{id:"123"}})//Test组件使用props接收,或者this.$route.p

Java延时的三种方法

一、Robot,Thread和Timerimportjava.awt.AWTException;importjava.awt.Robot;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.Timer;importjava.util.TimerTask;publicclassText1{publicstaticvoidmain(String[]args)throwsAWTException{//延时方法一Robotrobot=newRobot();SimpleDateFormatdateFormat=new

将Echarts图表导出为图片的三种方式

 第一种 使用 html2canvas 对dom元素截图    1.npm安装npminstallhtml2canvas    yarn安装yarnaddhtml2canvas  2.组件引入importhtml2canvasfrom"html2canvas"  3.代码//导出多张图表为一张图片//dmo元素里的内容转换为canvas,并将canvas下载为图片constdownload=()=>{//转换成canvashtml2canvas(document.getElementById("echarts")).then(function(canvas){varimg=canvas.toD

selenium中的三种等待方式以及显示等待和隐式等待区别

selenium的三种等待方式selenium中一般分为三种等待方式:显示等待、隐式等待、sleep强制等待1、显示等待(有条件)程序提前指定等待条件和等待时间,在查找元素时,判断规定时间内是否满足条件,满足则继续执行,不满足或超出时间则抛出异常fromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.support.uiimportWebDriverWait#导入显示等待模块fromselenium.webdriver.supportimportexpected_cond

Python 判断列表里是否有重复元素的三种方法

一、用set方法去重后与原列表长度比较lst=[1,3,5,3,4,4,2,9,6,7]set_lst=set(lst)iflen(set_lst)==len(lst):print('列表里的元素互不重复!')else:print('列表里有重复的元素!')二、用append的方式把原列表中的元素添加到一个新列表,确保新列表里不存在重复的元素,然后比较两个列表lst=[1,3,5,8,9,9,0,0,3,3]new_list=[]foriinlst:ifinotinnew_list:new_list.append(i)#这样能确保新的列表里包含原列表里所有种类的元素,且元素互不重复iflen(

mysql查询结果命令行方式导出/输出/写入到文件的三种方法

方法一:直接执行命令:mysql>selectcount(1)fromtableintooutfile'/tmp/test.xls';QueryOK,31rowsaffected(0.00sec)在目录/tmp/下会产生文件test.xls遇到的问题:mysql>selectcount(1)fromtableintooutfile'/data/test.xls';--报错:ERROR1(HY000):Can'tcreate/writetofile'/data/test.xls'(Errcode:13)可能原因:mysql没有向/data/下写的权限方法二:查询都自动写入文件:mysql>pag