将一个List中某个BigDecimal属性全都除以100组成新的list,用Stream流实现
时间: 2024-05-08 08:18:15 浏览: 128
好的,我理解了你的要求,以下是代码:
```java
List<BigDecimal> bigDecimalList = Arrays.asList(BigDecimal.valueOf(100), BigDecimal.valueOf(200), BigDecimal.valueOf(300));
List<BigDecimal> newBigDecimalList = bigDecimalList.stream()
.map(bigDecimal -> bigDecimal.divide(BigDecimal.valueOf(100)))
.collect(Collectors.toList());
System.out.println(newBigDecimalList); // 输出 [1, 2, 3]
```
以上代码将一个List中的BigDecimal属性全都除以100,然后组成一个新的List。使用Stream流的map方法将每个BigDecimal对象除以100,最后使用collect方法将结果收集成List。
相关问题
将一个List中某个BigDecimal属性全都除以100组成新的list
好的,这个问题可以回答。您需要遍历原始List,并将每个元素中的BigDecimal属性除以100,然后将新元素添加到新List中。以下是示例代码:
```java
List<YourObject> originalList = ... // 原始List
List<YourObject> newList = new ArrayList<>();
for (YourObject obj : originalList) {
BigDecimal originalValue = obj.getBigDecimalProperty();
BigDecimal dividedValue = originalValue.divide(new BigDecimal(100));
obj.setBigDecimalProperty(dividedValue);
newList.add(obj);
}
```
现在,您可以使用新List,其中所有元素的BigDecimal属性已除以100。
Stream流方式将list中string属性转BigDecimal求和
在Java中,你可以使用Stream API来处理列表并转换每个字符串元素为`BigDecimal`,然后计算它们的总和。这里是一个简单的示例:
```java
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public BigDecimal sumStringToBigDecimal(List<String> stringList) {
return stringList.stream() // 创建stream
.map(BigDecimal::new) // 将每个字符串转换为BigDecimal
.reduce(BigDecimal.ZERO, BigDecimal::add); // 使用reduce方法累加所有值
}
// 使用示例
List<String> stringList = Arrays.asList("1", "2.5", "3.75");
BigDecimal totalSum = sumStringToBigDecimal(stringList);
System.out.println("Total sum: " + totalSum);
阅读全文