南宁市建设工程质量监督站网站,设计模式,中卫网架钢结构设计,怎么做农家乐联盟网站java学习
一.steam流
1.介绍 Stream 是 Java 8 中引入的一种处理集合数据的新抽象。它提供了一种高效且便利的方式来处理集合中的元素#xff0c;支持函数式编程的特性#xff0c;使得集合操作变得更加简洁和灵活。 2.创建
List和Set可以直接调用接口的steam方法转换为流 …java学习
一.steam流
1.介绍 Stream 是 Java 8 中引入的一种处理集合数据的新抽象。它提供了一种高效且便利的方式来处理集合中的元素支持函数式编程的特性使得集合操作变得更加简洁和灵活。 2.创建
List和Set可以直接调用接口的steam方法转换为流 ListString s1 new ArrayList();s1.stream(); SetString snew HashSet();s.stream();
注意map不能直接创建stream流可以使用Map接口的keySet().stream()方法将Map的键集合转换为流或使用values().stream()方法将Map的值集合转换为流。 StreamString keyStream map.keySet().stream();
StreamInteger valueStream map.values().stream();
3.forerch(遍历)
在前面没有加限定操作的时候foreach可以遍历输出集合内的全部元素。
public class test {public static void main(String[] args) {ListString s1new ArrayList();Collections.addAll(s1,张三,李四,王五,猪八戒,孙悟空);s1.stream().forEach(System.out::println);}
}4.filter(筛选)
fiter可以对我们流进行筛选筛除不符合我们要求的元素用上面的例子。
如果我们只需要保留名字长度为2的元素。
那么我们只需要保证元素.length()2就行。
ListString s1new ArrayList();Collections.addAll(s1,张三,李四,王五,猪八戒,孙悟空);s1.stream().filter(s-s.length()2).forEach(System.out::println); 我们还可以多次筛选可以用多个filter或者用加多个条件。
ListString s1new ArrayList();Collections.addAll(s1,张三,李四,王五,猪八戒,孙悟空);s1.stream().filter(s-s.length()2s.startsWith(张) ).forEach(System.out::println);
ListString s1new ArrayList();Collections.addAll(s1,张三,李四,王五,猪八戒,孙悟空);s1.stream().filter(s-s.length()2).filter(s-s.startsWith(张)).forEach(System.out::println); 5.sorted(流排序)
sorted可以将流按照从小到大排序。 ListString s1new 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题
#includeiostream
#define ll long long
using namespace std;
int main()
{ll n;cinn;ll dp[11]{0},ans-1;//最长序列 for(int i0;in;i){string a;cina;ll ba.back()-0,ca[0]-0;dp[b]max(dp[b],dp[c]1);ansmax(ans,dp[b]);}coutn-ansendl;//这里输出需要删除的个数 return 0;
}
2.冶炼金属 样例输入
3
75 3
53 2
59 2
样例输出
20 25
这里需要数学手算一下。
#includeiostream
#includealgorithmusing 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;
}