JAVA8将集合中的某个字段相加、批量修改某个值、高效率循环、高效便捷遍历map

本文介绍Java8中Stream API的应用,包括字段求和、批量修改值、高效循环及快速遍历Map的方法。通过具体代码示例展示了如何操作BigDecimal和Integer类型的字段,并提供了批量更新对象属性的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.集合中的某个字段相加

##BigDecimal 类型保留两位  Objects为你的list集合

BigDecimal freightSum = objects.stream().map(Object :: getMoney).reduce(BigDecimal.ZERO,BigDecimal::add).setScale(2,BigDecimal.ROUND_DOWN);

##Integer类型 其他类型差不多

BigDecimal freightSum = objects.stream().map(Object :: getMoney).reduce(Integer::add);

2.批量修改某个值

objects.forEach( o -> {
			o.setMoney(BigDecimal.ZERO);
		});

3.Java8高效率循环

##这是Java8的循环逻辑,流式执行
objects.stream().forEach(o ->{
			//逻辑代码
		});

4.快速遍历Map

map.forEach((k,v) ->{
			//k是key  v是value 逻辑代码在这里写
	});
Java中,要检查集合中的某个字段是否包含某个特定,可以使用多种方法,具体取决于集合的类型和你想要检查的字段的性质。以下是一些常见的情况和对应的解决方案: 1. 如果集合中存储的是对象,且你想检查对象的某个字段,可以使用循环遍历集合,然后对每个对象的该字段进行比较。例如,使用ArrayList和自定义的类: ```java import java.util.ArrayList; import java.util.List; public class Item { private String name; public Item(String name) { this.name = name; } public String getName() { return name; } } public class Main { public static void main(String[] args) { List<Item> items = new ArrayList<>(); items.add(new Item("Apple")); items.add(new Item("Banana")); items.add(new Item("Cherry")); String searchName = "Banana"; boolean contains = false; for (Item item : items) { if (searchName.equals(item.getName())) { contains = true; break; } } System.out.println("Contains: " + contains); } } ``` 2. 如果集合实现了`java.util.Collection`接口,可以使用`contains(Object o)`方法来检查集合是否包含某个特定的对象。 3. 对于`java.util.Map`类型的集合,如果你想检查是否存在某个键(key)或者某个(value),可以使用`containsKey(Object key)`和`containsValue(Object value)`方法。 ```java import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { Map<String, String> map = new HashMap<>(); map.put("fruit", "Apple"); map.put("vegetable", "Carrot"); map.put("grain", "Rice"); String searchKey = "fruit"; String searchValue = "Apple"; System.out.println("Contains key: " + map.containsKey(searchKey)); System.out.println("Contains value: " + map.containsValue(searchValue)); } } ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值