传统方式遍历集合
/*
使用传统方式遍历集合
*/
public class demo01Stream {
public static void main(String[] args) {
List<String> list =new ArrayList<>();
list.add("sdsds");
list.add("sdqqsds");
list.add("sdseeeeeds");
List<String> list1 =new ArrayList<>();
for (String s : list) {
if (s.startsWith("sdq")){
list1.add(s);
}
}
List<String> list2 =new ArrayList<>();
for (String s : list) {
if (s.length()==5){
list2.add(s);
}
}
}
}
Stream流方式 遍历集合
/*
使用Stream流方式 遍历集合
*/
public class demo02Stream {
public static void main(String[] args) {
List<String> list =new ArrayList<>();
list.add("张某某");
list.add("李某");
list.add("梁某某");
//对集合的元素进行名字过滤
//对集合的元素进行名字长度过滤
list.stream().filter(name->name.startsWith("张"))
.filter(name->name.length()==3)
.forEach(name-> System.out.println(name));
}
}
两种获取流的方式
/*
stream.Stream是java8新加入的最常用的流接口
获取流的常用方式:
defalut Streamstream()
stream接口的静态方法of可以获取数组对应的流
staticStreamof(T…values)
参数是一个可变参数,可以传递数组
*/
public class demoGetStream {
public static void main(String[] args) {
//把集合转换为Stream流
List<String> list = new ArrayList<>();
Stream<String> stream = list.stream();
Set<String> set = new HashSet<>();
Stream<String> stream1 =set.stream();
Map<String,String>map = new HashMap<>();
//获取键,存储到一个set集合里
Set<String>keyset= map.keySet();
Stream<String> stream2= keyset.stream();
//获取值,存储到一个集合中
Collection<String>values = map.values();
Stream<String> stream3= values.stream();
//获取键值对
Set<Map.Entry<String,String>>entries =map.entrySet();
Stream<Map.Entry<String,String>> stream4 =entries.stream();
//把数组转换为stream流
Stream<Integer>stream5= Stream.of(1,2,3,4,5);
//可变参数传递数组
Integer[] arr ={1,2,3,4,5};
Stream<Integer>stream6 = Stream.of(arr);
String[] arr2 ={"a","bb","ccc"};
Stream<String> stream7 = Stream.of(arr2);
}
}