首页 / JAVA / Java8 Stream常用操作
Java8 Stream常用操作
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java8 Stream常用操作,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1527字,纯文字阅读大概需要3分钟。
内容图文
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@Data
@AllArgsConstructor
@Builder
public class Fruit {
private Integer id;
private String name;
private Double money;
private Integer num;
}
测试用例
import org.junit.Before;
import org.junit.Test;
import java.util.*;
import java.util.stream.Collectors;
public class FruitTest {
List<Fruit> fruitList = null;
@Before
public void setup() {
fruitList = new ArrayList<>();
fruitList.add(new Fruit(1, "Apple1", 4.5, 11));
fruitList.add(new Fruit(1, "Apple2", 3.1, 2));
fruitList.add(new Fruit(2, "Banana", 4.89, 8));
fruitList.add(new Fruit(3, "Pear", 10.99, 9));
}
@Test
public void testGroupBy() {
System.out.println("testGroupBy()");
Map<Integer, List<Fruit>> map = fruitList.stream()
.collect(Collectors.groupingBy(Fruit::getId));
System.out.println(map);
}
@Test
public void testListToMap() {
System.out.println("testListToMap()");
Map<Integer, Fruit> map = fruitList.stream()
.collect(Collectors.toMap(Fruit::getId, a -> a, (k1, k2) -> k1));
System.out.println(map);
}
@Test
public void testFilter() {
System.out.println("testFilter()");
List<Fruit> ls = fruitList.stream()
.filter(a -> a.getName().equals("香蕉"))
.collect(Collectors.toList());
System.out.println(ls);
}
@Test
public void testMaxMin() {
System.out.println("testSum()");
Optional<Fruit> max = fruitList.stream().max(Comparator.comparingDouble(Fruit::getMoney));
max.ifPresent(System.out::println);
Optional<Fruit> min = fruitList.stream().min(Comparator.comparingDouble(Fruit::getMoney));
min.ifPresent(System.out::println);
}
内容总结
以上是互联网集市为您收集整理的Java8 Stream常用操作全部内容,希望文章能够帮你解决Java8 Stream常用操作所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。