过滤数据,遍历集合

import java.util.ArrayList;
public class StreamClass {
public static void main(String[] args) {
ArrayList<String> arr = new ArrayList<>();
arr.add("晁武德");
arr.add("新德里");
arr.add("张无忌");
arr.add("张三丰a");
arr.stream().filter(name->name.startsWith("张"))
.filter(name->name.length() > 3)
.forEach(name-> System.out.println(name));
}
}
两种获取Stream流的方式

import java.util.*;
import java.util.stream.Stream;
public class SearchStream {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
Stream<String> stream1 = list.stream();
Set<String> set = new HashSet<>();
Stream<String> stream2 = set.stream();
Map<String,String> map = new HashMap<>();
Set<String> strings = map.keySet();
Stream<String> stream3 = strings.stream();
Set<Map.Entry<String, String>> entries = map.entrySet();
Stream<Map.Entry<String, String>> stream4 = entries.stream();
Collection<String> values = map.values();
Stream<String> stream5 = values.stream();
System.out.println("======Stream.of======");
Stream<Integer> stream6 = Stream.of(1, 2, 3, 4);
Integer[] inte = {1, 2, 3, 4};
Stream<Integer> stream7 = Stream.of(inte);
String[] str = {"11", "22", "33"};
Stream<String> stream8 = Stream.of(str);
}
}
Stream方法——forEach

import java.util.stream.Stream;
public class ForEachMeth {
public static void main(String[] args) {
Stream<String> stream1 = Stream.of("小新", "妮妮", "风间");
stream1.forEach(name-> System.out.println(name));
}
}
Stream方法——filter

public class StreamFilter {
public static void main(String[] args) {
Stream<String> stream1 = Stream.of("小新", "妮妮", "风间");
Stream<String> newStream = stream1.filter(name -> name.startsWith("小"));
newStream.forEach(name-> System.out.println(name));
}
}
注意事项

Stream方法——map

import java.util.stream.Stream;
public class MapStream {
public static void main(String[] args) {
Stream<String> age = Stream.of("12", "20", "30");
Stream<Integer> inte = age.map(i -> Integer.parseInt(i));
inte.forEach(num-> System.out.println(num));
}
}
Stream方法——count

import java.util.ArrayList;
public class StreamCount {
public static void main(String[] args) {
ArrayList<Integer> arr= new ArrayList<>();
arr.add(1);
arr.add(2);
arr.add(3);
arr.add(4);
arr.add(5);
arr.add(6);
arr.add(7);
long count = arr.stream().count();
System.out.println(count);
}
}
Stream方法——limit

import java.util.stream.Stream;
public class StreamCount {
public static void main(String[] args) {
ArrayList<Integer> arr= new ArrayList<>();
arr.add(1);
arr.add(2);
arr.add(3);
arr.add(4);
arr.add(5);
arr.add(6);
arr.add(7);
Stream<Integer> limit = arr.stream().limit(5);
limit.forEach(i-> System.out.println(i));
}
}
Stream方法——skip

import java.util.ArrayList;
import java.util.stream.Stream;
public class StreamSkip {
public static void main(String[] args) {
ArrayList<String> arr = new ArrayList<>();
arr.add("小新");
arr.add("妮妮");
arr.add("风间");
Stream<String> skip = arr.stream().skip(1);
skip.forEach(name-> System.out.println(name));
}
}
Stream方法——concat

import java.util.ArrayList;
import java.util.stream.Stream;
public class StreamSkip {
public static void main(String[] args) {
ArrayList<String> arr = new ArrayList<>();
arr.add("小新");
arr.add("妮妮");
arr.add("风间");
Stream<String> skip = arr.stream();
ArrayList<String> arr1 = new ArrayList<>();
arr.add("小新");
arr.add("妮妮");
arr.add("风间");
Stream<String> skip1 = arr1.stream();
Stream<String> concat = Stream.concat(skip, skip1);
concat.forEach(name-> System.out.println(name));
}
}