针对同一个集合,用 stream 操作两次得到两个不同条件筛选出来的集合和map,和一次for循环就搞定搞定的效率对比。
虽然stream写起来链式操作很舒服,但效率在不同数据量下的体现效果是不一样的,以下为我的测试代码:
@Test
public void testStreamAndFor() {
List studentList = new ArrayList<>();
// 初始数据量
int listSize = 100000;
// 测试次数,以便求出平均运行时长
int testTimes = 5;
for (int i = 0; i < listSize; i++) {
Student student = new Student();
student.setId(i + 1);
student.setStudentName("name" + i);
student.setAge(i);
studentList.add(student);
}
BigDecimal streamTotalRunTime = new BigDecimal("0");
BigDecimal forTotalRunTime = new BigDecimal("0");
for (int i = 0; i < testTimes; i++) {
Instant streamStart = Instant.now();
Map idM
最后
以上就是辛勤未来最近收集整理的关于java流和循环 效率_Java stream 和 for循环效率对比问题的全部内容,更多相关java流和循环内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复