//过滤不符合filter元素
@Test
public void filter(){
List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd", "", "jdk");
//strings.parallelStream();//并行流
// strings.stream();//普通流
List<String> f = strings.stream().filter(strs -> strs.contains("f")).collect(Collectors.toList());
System.out.println(f);
};
打印日志
E:\JDK\jdk1.8.0_71\bin\java.exe -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:E:\idea\IntelliJ IDEA 2021.2.1\lib\idea_rt.jar=52946:E:\idea\IntelliJ IDEA 2021.2.1\bin" -Dfile.encoding=UTF-8 -classpath "E:\idea\IntelliJ IDEA 2021.2.1\lib\idea_rt.jar;E:\idea\IntelliJ IDEA 2021.2.1\plugins\junit\lib\junit5-rt.jar;E:\idea\IntelliJ IDEA 2021.2.1\plugins\junit\lib\junit-rt.jar;E:\JDK\jdk1.8.0_71\jre\lib\charsets.jar;E:\JDK\jdk1.8.0_71\jre\lib\deploy.jar;E:\JDK\jdk1.8.0_71\jre\lib\ext\access-bridge-64.jar;E:\JDK\jdk1.8.0_71\jre\lib\ext\cldrdata.jar;E:\JDK\jdk1.8.0_71\jre\lib\ext\dnsns.jar;E:\JDK\jdk1.8.0_71\jre\lib\ext\jaccess.jar;E:\JDK\jdk1.8.0_71\jre\lib\ext\jfxrt.jar;E:\JDK\jdk1.8.0_71\jre\lib\ext\localedata.jar;E:\JDK\jdk1.8.0_71\jre\lib\ext\nashorn.jar;E:\JDK\jdk1.8.0_71\jre\lib\ext\sunec.jar;E:\JDK\jdk1.8.0_71\jre\lib\ext\sunjce_provider.jar;E:\JDK\jdk1.8.0_71\jre\lib\ext\sunmscapi.jar;E:\JDK\jdk1.8.0_71\jre\lib\ext\sunpkcs11.jar;E:\JDK\jdk1.8.0_71\jre\lib\ext\zipfs.jar;E:\JDK\jdk1.8.0_71\jre\lib\javaws.jar;E:\JDK\jdk1.8.0_71\jre\lib\jce.jar;E:\JDK\jdk1.8.0_71\jre\lib\jfr.jar;E:\JDK\jdk1.8.0_71\jre\lib\jfxswt.jar;E:\JDK\jdk1.8.0_71\jre\lib\jsse.jar;E:\JDK\jdk1.8.0_71\jre\lib\management-agent.jar;E:\JDK\jdk1.8.0_71\jre\lib\plugin.jar;E:\JDK\jdk1.8.0_71\jre\lib\resources.jar;E:\JDK\jdk1.8.0_71\jre\lib\rt.jar;E:\Maven\Maven-workspace\pro05-demo-all-in-one\target\test-classes;E:\Maven\Maven-workspace\pro05-demo-all-in-one\target\classes;E:\Maven\scarepository\mysql\mysql-connector-java\5.1.37\mysql-connector-java-5.1.37.jar;E:\Maven\scarepository\com\alibaba\druid\1.2.8\druid-1.2.8.jar;E:\Maven\scarepository\javax\annotation\javax.annotation-api\1.3.2\javax.annotation-api-1.3.2.jar;E:\Maven\scarepository\commons-dbutils\commons-dbutils\1.6\commons-dbutils-1.6.jar;E:\Maven\scarepository\javax\servlet\javax.servlet-api\3.1.0\javax.servlet-api-3.1.0.jar;E:\Maven\scarepository\org\thymeleaf\thymeleaf\3.0.11.RELEASE\thymeleaf-3.0.11.RELEASE.jar;E:\Maven\scarepository\ognl\ognl\3.1.12\ognl-3.1.12.jar;E:\Maven\scarepository\org\javassist\javassist\3.20.0-GA\javassist-3.20.0-GA.jar;E:\Maven\scarepository\org\attoparser\attoparser\2.0.5.RELEASE\attoparser-2.0.5.RELEASE.jar;E:\Maven\scarepository\org\unbescape\unbescape\1.1.6.RELEASE\unbescape-1.1.6.RELEASE.jar;E:\Maven\scarepository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;E:\Maven\scarepository\junit\junit\4.12\junit-4.12.jar;E:\Maven\scarepository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;E:\Maven\scarepository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;E:\Maven\scarepository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar" com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 com.gtguigu.maven.ImperialCourtTest,filter
[efg]
Process finished with exit code 0
去重
@Test
public void distinct(){
List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd", "", "jdk");
将list转换为流,然后去重,在转换成list
List<String> collect = strings.stream().distinct().collect(Collectors.toList());
System.out.println(collect);
System.out.println(strings);
};
类中值去重
@Test
public void distinct(){
ArrayList<user> objects = new ArrayList<>();
objects.add(new user("xiao", 12));
objects.add(new user("xiao", 12));
objects.add(new user("ming", 188));
List<user> collect = objects.stream().distinct().collect(Collectors.toList());
System.out.println(collect);
};
下面user类
package com.gtguigu.maven;
import java.util.Objects;
public class user {
private String name;
private Integer age;
public user() {
}
public user(String name, Integer age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "user{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
user user = (user) o;
return Objects.equals(name, user.name) && Objects.equals(age, user.age);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
}
分页截取前面几个
@Test
public void limit(){
List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd", "", "jdk");
List<String> collect = strings.stream().limit(3).collect(Collectors.toList());
System.out.println(collect);
};
去掉前面几个
@Test
public void limit(){
//给加后缀
List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd", "", "jdk");
List<String> chen = strings.stream().map(sta -> sta.concat("_chen")).collect(Collectors.toList());后缀
List<String> chen = strings.stream().map(sta -> "chen_" + sta).collect(Collectors.toList());前缀
System.out.println(chen);
};
扁平化
public static Stream<Character> getcharacterByString(String str){
ArrayList<Character> objects = new ArrayList<>();
for(Character character : str.toCharArray()){
objects.add(character);
}
return objects.stream();
};
排序
去重
给set转化map添加key
https://www.bilibili.com/video/BV1VQ4y1P7Fq?spm_id_from=333.999.0.0&vd_source=0d7fe0d6099306fd3167b246fa90892f