在处理集合数据时,常常需要对其进行各种操作,例如过滤、映射、规约等。而 java 8 中引入的 stream 流为我们提供一种更加简洁和灵活的方式来处理数据。 stream 特性 stream 不存储数据,而是按照特定的规则对数据进行计算,一般会输出结果。 stream 不会改变数据源,通常情况下会产生一个新的集合或一个值。 stream 具有延迟执行特性,只有调用终端操作时,中间操作才会执行。 如何使用 stream 简单来讲,stream 流操作分为以下 3 种: 创建 stream 流 stream 流中间处理 终止 stream 流 创建 stream 流 从 collection 创建流 12345678910public class collectiontostreamexample { public static void main(string[] args) { list animals = arrays.aslist("cat", ...notes未读手把手教你学会二分算法发表于2023-08-27更新于2023-08-27 笔记 c++ acm/icpc 二分 算法 条评论um_nik: stop learning useless algorithms, go and solve some problems, learn how to use binary search! 1、基本概述 二分算法的基本用法是在一个单调有序的集合或函数中查找一个解。因此,当问题的答案具有单调性时,可以考虑将问题的解,通过二分,转化为某种判定问题。每次分成左右两个区间,通过判断调整上下界,即继续搜索左区间还是右区间,直到找到目标元素。 更进一步的说,还可以扩展到三分算法取解决峰值函数的极值问题。三分算法将区间分成 3 个部分,可以明确判断答案不在哪一部分,舍弃三分之一的空间,继续进行查找。 此外,还有浮点数上的二分,其与整数二分大同小异。 总结一下,一般初学者在练习时可能会碰到以下问题: 整数集上的二分,需要注意左右区间的开闭情况,避免漏掉答案或者死循环; 实数域上的二分,需要注意精度问题。 二分的实现方法灵活多样,主要是处理边界上的差异时需要仔细考虑。为了避免混淆写法,下面只着重介绍一种实现方法。 2、算法实现 2.1、整数集上的二分 本文介绍的写法保证答案在 [l ...notes未读es6的对象扩展对算符发表于2023-08-25更新于2023-08-27 笔记 前端 javascript 条评论1、基本介绍 扩展运算符:... 它是 es6 的语法,用于将取出参数对象,然后拷贝到当前对象中。 1234567let o = { name: 'youngcy', age: 21};console.log(o); // { name: 'youngcy', age: 21 }console.log({...o}); // { name: 'youngcy', age: 21 } 2、使用技巧 2.1、对象合并 语法:mergeobject = {...o1, ...o2, ...o3, ...o4} **415let o1 = { name: 'youngcy', age: 21};let o2 = { gender: '男'}let o3 = { gende ...notes未读axios携带cookie时的跨域问题发表于2023-08-10更新于2023-08-10 跨域问题 后端 笔记 条评论用户个人界面通过携带 cookie 发送给后端,后端根据这个 cookie 再返回数据给前端。为了使得前端发送的请求中携带 cookie,只需要在 myaxios.ts 中添加 myaxios.defaults.withcredentials = true;。但是随即登录出现了跨域问题。 后端的 controller 层已用 @crossorigin 注解,但仍然存在跨域问题。 产生原因 查看 crossorigin 注解,可以发现默认参数 default_allow_credentials 为 false,导致后端不能接收到 cookie。 解决办法 解决的办法有两种: 在 @crossorigin 注解中添加 allowcredentials = "true"。 删除 @crossorigin 注解,添加 webmvcconfig 类,允许所有的请求跨域访问或者指定特定的请求路径进行跨域访问: **@configurationpublic class webconfig implements webmvcconfigure ...notes未读在centos7中安装mysql数据库发表于2023-07-06更新于2023-07-09 笔记 数据库 工具相关 条评论mysql 安装 本文基于 centos 7.9 系统进行安装。 1. 准备安装包 这里准备的是 mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz,并将其直接放在了 /root 目录下。 1[root@localhost ~]# wget https://dev.mysql.com/get/downloads/mysql-8.0/mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz 注意这里的 glibc2.12,是安装 mysql 所需的的 glibc 版本,在安装之前先输入 rpm -q glibc ,查看本系统的 glibc 版本,安装的版本不能高于系统的版本,否则需要自行下载在配置(比较麻烦,不推荐)。 2. 卸载系统⾃带的 mariadb 输入 rpm -qa|grep mariadb 检查是否有 mariadb,它会和 mysql 冲突,如果没有则可以跳过此步骤。 输入如下命令卸载: 1[root@localhost ~]# yum -y remove mariadb-libs-5.5.68-1.el7. ...notes未读在centos7中安装git工具发表于2023-05-20更新于2023-07-08 笔记 工具相关 git 条评论git 工具安装 方式一:通过包管理器安装 在 linux 上安装 git 只需要一行命令即可搞定,在 centos 系统中,执行如下命令即可安装: 1[root@localhost ~]# yum install git 当然通过这种这种方式安装的不是最新版本的 git,以本实验环境 centos 7.9 来说,这种方式安装的 git 版本为 1.8.3.1,一般来讲是够用的。 方式二:通过源码编译安装 如果想要安装最新版本的 git,需要自行下载 git 源码来编译安装。 https://git-scm.com/download 1. 准备 git 安装包 这里选择的是 2.40.1 版,将下载好的安装包 git-2.40.1 放在 root 目录下,然后解压,得到 git-2.40.1 目录。 1[root@localhost ~]# tar -zxvf git-2.40.1.tar.gz 2. 提前装好可能需要的依赖 1[root@localhost ~]# yum install curl-devel expat-devel gettext-devel openssl-de ...1这有关于开发、算法、设计相关的问题和看法,还有个人感悟和分享。希望这里的知识和教程对你有所帮助。youngcy爱这夕阳,因为它等待着晨曦acm/icpc1c++1git1java1mysql1stream1javascript1二分1前端1后端1工具相关2数据库2笔记7算法1跨域问题1归档十月 20231篇九月 20231篇八月 20233篇七月 20231篇五月 20231篇网站资讯文章总数 :7建站天数 :全站字数 :13.1k总访客数 :总访问量 :最后更新 :©2023 by youngcy主题浙icp备-2023012687号文章7标签15分类1文章 隧道 分类 标签友链 友人帐 留言板我的 音乐馆 追番页 相册集 小空调关于 关于本人 闲言碎语博客快捷键shift k关闭快捷键功能shift a打开中控台shift m播放/暂停音乐shift d深色/浅色显示模式shift s站内搜索shift r随机访问shift h返回首页shift f友链鱼塘shift l友链页面shift p关于本站shift i原版右键菜单繁播放音乐搜索复制选中文本粘贴文本引用到评论新窗口打开复制链接地址复制此图片下载此图片新窗口打开图片站内搜索百度搜索播放音乐切换到上一首切换到下一首查看所有歌曲复制歌名随便逛逛博客分类文章标签复制地址关闭热评深色模式轉為繁體
yocy.top是杨展鹏个人网站,网站成立于2023年5月4日。网站主要内容为:阳曦,阳曦知识库,杨曦,杨曦的博客,youngcy,编程,开发,算法,acmer等。网站已经通过工信部备案,备案号为: 浙ICP备2023012687号。yocy.top的域名年龄为1年1个月29天,注册商为Alibaba Cloud Computing Ltd. d/b/a HiChina (www.net.cn),DNS为expirens3.hichina.com,expirens4.hichina.com,域名更新时间是2024年05月05日,域名过期时间是2025年05月04日,距离过期还有305天。