java Stream
2021/4/8 12:13:12
本文主要是介绍java Stream,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package newfeature; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public class MyStream { public static void main(String[] args) { List<String> strings = Arrays.asList("abc", "", "dsf", "ghg", "abc"); List<User> users = new ArrayList<>(); users.add(new User(1, "a")); users.add(new User(1, "a")); users.add(new User(1, "a")); // 中间操作符返回的是stream // filter System.out.println(strings.stream() .filter(str -> str.contains("d")) .collect(Collectors.toList())); // distinct System.out.println(strings.stream() .distinct() .collect(Collectors.toList())); System.out.println(users.stream() .distinct() .collect(Collectors.toList())); // limit System.out.println(strings.stream() .limit(2)// 只取前两个 .collect(Collectors.toList())); // skip System.out.println(strings.stream() .skip(2)// 去掉前两个 .collect(Collectors.toList())); // map // 对流中所有元素做统一处理 System.out.println(strings.stream() .map(str -> "haha" + str) .collect(Collectors.toList())); // flatmap // 字符串转为字符流 System.out.println(strings.stream() .flatMap(str -> getCharacterByString(str)) .collect(Collectors.toList())); // sorted System.out.println(strings.stream() .sorted() .collect(Collectors.toList())); // 终止操作符 // anyMath System.out.println(strings.stream() .anyMatch(str->str.contains("a"))); // allMatch System.out.println(strings.stream() .anyMatch(str->str.length()>0)); // noneMatch System.out.println(strings.stream() .anyMatch(str->str.length()>100)); // findAny System.out.println(strings.stream() .findAny());// 返回Option对象 Optional[abc] System.out.println(strings.stream() .findAny().get()); // findFirst System.out.println(strings.stream() .findFirst());// 返回Option对象 Optional[abc] System.out.println(strings.stream() .findAny().get()); // foreach strings.stream() .forEach(System.out::println); // collect System.out.println(strings.stream().collect(Collectors.toSet())); System.out.println(strings.stream().collect(Collectors.toList())); System.out.println(strings.stream() .collect(Collectors.toMap(v->v, v->v,(oldvalue, newvalue)->newvalue)));// key value 重复的处理方法 // reduce // 将流中元素反复结合得到一个结果 System.out.println(strings.stream() .reduce((acc, item)->{return acc + item;})); // count System.out.println(strings.stream() .count()); } // 根据字符串获取字符 public static Stream<Character> getCharacterByString(String str) { List<Character> characterList = new ArrayList<>(); for (Character character : str.toCharArray()) { characterList.add(character); } return characterList.stream(); } } class User { private int id; private String name; public User(int id, String name) { this.id = id; this.name = name; } public User() { } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + '}'; } }
这篇关于java Stream的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?