**JAVA Steam流常用方法介绍
1.allMatch(Predicate<? super T> predicate) 返回此流的所有元素是否与提供的谓词匹配。
public class TestDemo {
public static void main(String args[]) {
List<String> stringList =new ArrayList<>();
stringList.add("1");
System.out.println(stringList.stream().allMatch(e -> e.equals("1")));
}
}
控制台输出 true
**2.count() ** 返回此流中的元素数。
public class TestDemo {
public static void main(String args[]) {
List<String> stringList =new ArrayList<>();
stringList.add("1");
stringList.add("2");
stringList.add("3");
System.out.println(stringList.stream().count());
}
}
控制台输出 3
**3.distinct() ** 返回由该流的不同元素(根据 Object.equals(Object) )组成的流
public class TestDemo {
public static void main(String args[]) {
List<String> stringList =new ArrayList<>();
stringList.add("1");
stringList.add("2");
stringList.add("3");
stringList.add("3");
stringList.stream().distinct().forEach(e->System.out.println(e));
}
}
``
控制台输出
1
2
3
**4.filter() ** 返回由与此给定谓词匹配的此流的元素组成的流。
public class TestDemo {
public static void main(String args[]) {
List<String> stringList =new ArrayList<>();
stringList.add("1");
stringList.add("2");
stringList.add("3");
stringList.add("3");
stringList.stream().distinct().filter(e->e.equals("2")).forEach(e->System.out.println(e));
}
}
控制台输出
2
**5.findFirst() ** 返回描述此流的第一个元素的Optional如果流为空,则返回一个空的Optional 。
public class TestDemo {
public static void main(String args[]) {
List<String> stringList =new ArrayList<>();
stringList.add("1");
stringList.add("2");
stringList.add("3");
stringList.add("3");
System.out.println(stringList.stream().distinct().filter(e->e.length()==1).findFirst().get());
}
}
控制台输出
1
**6. forEach() ** 对此流的每个元素执行操作。
public class TestDemo {
public static void main(String args[]) {
List<String> stringList =new ArrayList<>();
stringList.add("1");
stringList.add("2");
stringList.add("3");
stringList.add("3");
stringList.stream().distinct().filter(e->e.length()==1).forEach(e->System.out.println(e));
}
控制台输出
1
2
3
**7. limit(long maxSize) ** 返回由此流的元素组成的流,截短长度不能超过 maxSize
public static void main(String args[]) {
List<String> stringList =new ArrayList<>();
stringList.add("1");
stringList.add("2");
stringList.add("3");
stringList.add("3");
stringList.stream().distinct().limit(2).forEach(e->System.out.println(e));
}
控制台输出
1
2
**8. map(Function<? super T,? extends R> mapper) ** 返回由给定函数应用于此流的元素的结果组成的流。
public static void main(String args[]) {
List<String> stringList =new ArrayList<>();
stringList.add("1");
stringList.add("2");
stringList.add("3");
stringList.add("3");
;
System.out.println(stringList.stream().distinct().limit(2).map(e->Integer.parseInt(e)).count());
}
控制台输出
2
**9. MAP集合 **
public static void main(String args[]) {
List<String> stringList =new ArrayList<>();
stringList.add("1");
stringList.add("2");
stringList.add("3");
stringList.add("3");
Map<String,String> map = new HashMap<>();
map.put("1","zhangsan");
map.put("2","lisi");
map.values().stream().forEach(e->System.out.println(e));
}
控制台输出
zhangsan
lisi
|