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

4月9号总结

java学习

一.steam流

1.介绍

Stream 是 Java 8 中引入的一种处理集合数据的新抽象。它提供了一种高效且便利的方式来处理集合中的元素,支持函数式编程的特性,使得集合操作变得更加简洁和灵活。

2.创建

List和Set可以直接调用接口的steam方法转换为流

  List<String> s1= new ArrayList<>();s1.stream();
 Set<String> s=new HashSet<>();s.stream();

注意:map不能直接创建stream流,可以使用Map接口的keySet().stream()方法将Map的键集合转换为流,或使用values().stream()方法将Map的值集合转换为流。


Stream<String> keyStream = map.keySet().stream();
Stream<Integer> valueStream = map.values().stream();
3.forerch(遍历)

在前面没有加限定操作的时候foreach可以遍历输出集合内的全部元素。

public class test {public static void main(String[] args) {List<String> s1=new ArrayList<>();Collections.addAll(s1,"张三","李四","王五","猪八戒","孙悟空");s1.stream().forEach(System.out::println);}
}

4.filter(筛选)

fiter可以对我们流进行筛选,筛除不符合我们要求的元素,用上面的例子。

如果我们只需要保留名字长度为2的元素。

那么我们只需要保证元素.length()==2就行。

List<String> s1=new ArrayList<>();Collections.addAll(s1,"张三","李四","王五","猪八戒","孙悟空");s1.stream().filter(s->s.length()==2).forEach(System.out::println);

我们还可以多次筛选,可以用多个filter或者用&&加多个条件。

List<String> s1=new ArrayList<>();Collections.addAll(s1,"张三","李四","王五","猪八戒","孙悟空");s1.stream().filter(s->s.length()==2&&s.startsWith("张") ).forEach(System.out::println);
List<String> s1=new ArrayList<>();Collections.addAll(s1,"张三","李四","王五","猪八戒","孙悟空");s1.stream().filter(s->s.length()==2).filter(s->s.startsWith("张")).forEach(System.out::println);

5.sorted(流排序)

sorted可以将流按照从小到大排序。

 List<String> s1=new ArrayList<>();Collections.addAll(s1,"cba","acb","bac","abc","cab");s1.stream().sorted().forEach(System.out::println);

这里先介绍部分,还有很多很方便的没有介绍。

二.蓝桥杯真题练习

1.接龙数列

样例输入

5
11 121 22 12 2023

样例输出

1

一道dp题,不看题解都想不到是dp题

#include<iostream>
#define ll long long
using namespace std;
int main()
{ll n;cin>>n;ll dp[11]={0},ans=-1;//最长序列 for(int i=0;i<n;i++){string a;cin>>a;ll b=a.back()-'0',c=a[0]-'0';dp[b]=max(dp[b],dp[c]+1);ans=max(ans,dp[b]);}cout<<n-ans<<endl;//这里输出需要删除的个数 return 0;
}
2.冶炼金属

样例输入

3
75 3
53 2
59 2

样例输出

20 25

这里需要数学手算一下。

#include<iostream>
#include<algorithm>using namespace std;int main() {int n;cin >> n;int mi = 0, mx = 1e9;while (n--) {int a, b;cin >> a >> b;mi = max(a / (b + 1) + 1, mi);mx = min(a / b, mx);}cout << mi << " " << mx << endl;return 0;
}
http://www.lryc.cn/news/336652.html

相关文章:

  • Linux生态系统:探索Linux的开源世界
  • XILINX 10G PCS PMA IP核使用
  • Scrapy框架内存泄漏问题及解决
  • app 创建快捷入口 在手机上面多个icon
  • 【网安小白成长之路】6.pkachu、sql-lbas、upload-lbas靶场搭建
  • vue 项目中添加DES加密
  • 【记录问题】如何测试虚拟机已经可以连接网络
  • MySQL数据库的详解(1)
  • Python 网络爬虫技巧分享:优化 Selenium 滚动加载网易新闻策略
  • Apache SeaTunnel 社区 3 月月报
  • ElasticSearch 的 ConstantScoreQuery 的理解
  • 【RV1106的ISP使用记录之一】基础环境搭建
  • mars3d.MaterialType.Image2修改配置面状:图片2的speed数值实现动画效果说明
  • Elasticsearch部署安装
  • Android零基础入门(一)配置环境和安装Android Studio
  • Golang编译优化——消除Copy指令
  • Java IO流对象流实操
  • Mapbox教程:一个简单Demo
  • 看AI赋能数智化 | Gooxi AI服务器闪耀CITE 2024
  • 大话设计模式——21.中介者模式(Mediator Pattern)
  • Linux 计算机网络
  • bash脚本中‘-b -u -p’‘$# -eq’‘#!/bin/bash’‘sed -i “s/\r//“ $1’的用法说明
  • 【人工智能】Gitee AI 天数智芯有奖体验开源AI模型,一定能有所收货,快来体验吧
  • Ceph学习 -8.认证管理-用户基础
  • 大创项目推荐 深度学习+opencv+python实现昆虫识别 -图像识别 昆虫识别
  • Python小工具提升工作效率【附完整版,可下载word】
  • k8s-Pod
  • 智能网络新纪元:机器学习赋能未来计算机网络高速发展
  • 大数据之kafka应用
  • 嵌入式操作教程_数字信号处理_音频编解码:3-6 AAC音频解码实验