循环遍历list统计bigdecimal
时间: 2023-10-06 11:08:25 浏览: 130
如果您想要循环遍历一个 `List` 中的所有元素并统计其中的 `BigDecimal` 类型的值,可以使用以下代码:
```java
List<BigDecimal> list = Arrays.asList(new BigDecimal("1.2"), new BigDecimal("3.4"), new BigDecimal("5.6"));
BigDecimal sum = BigDecimal.ZERO;
for (BigDecimal element : list) {
sum = sum.add(element);
}
System.out.println("Sum: " + sum);
```
在上面的代码中,我们首先创建了一个包含 `BigDecimal` 类型元素的 `List`。然后我们定义了一个 `BigDecimal` 类型的变量 `sum` 并将其初始值设置为 `BigDecimal.ZERO`。接下来,我们使用 `for-each` 循环遍历 `List` 中的所有元素,并将它们加到 `sum` 变量中。最后,我们输出了 `sum` 变量的值,即所有 `BigDecimal` 类型元素的总和。
相关问题
list集合bigdecimal累加
要将一个 BigDecimal 类型的集合进行累加,你可以使用 BigDecimal 的 add 方法。下面是一个示例代码:
```java
import java.math.BigDecimal;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<BigDecimal> numbers = List.of(
new BigDecimal("1.23"),
new BigDecimal("2.34"),
new BigDecimal("3.45")
);
BigDecimal sum = BigDecimal.ZERO;
for (BigDecimal number : numbers) {
sum = sum.add(number);
}
System.out.println("Sum: " + sum);
}
}
```
在上述代码中,我们创建了一个 BigDecimal 类型的集合 `numbers`,然后使用一个循环遍历集合中的每个元素,并使用 add 方法将其累加到 sum 变量中。最后,打印出累加的结果。
请注意,由于 BigDecimal 是不可变类型,每次调用 add 方法时都会返回一个新的 BigDecimal 对象。因此,在累加过程中,我们需要将新的结果重新赋值给 sum 变量。
怎么从list中取出数据放到List<BigDecimal>中
如果你有一个List,其中包含了其他类型的数据,你想将这些数据提取出来并放入一个新的List<BigDecimal>中,你可以使用循环遍历原始的List,并将每个元素转换为BigDecimal类型后添加到新的List中。以下是一个示例代码:
```java
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
public class ExtractBigDecimal {
public static void main(String[] args) {
List<Object> originalList = List.of(
1.23,
4.56,
"7.89",
10,
"hello"
);
List<BigDecimal> bigDecimalList = new ArrayList<>();
for (Object element : originalList) {
if (element instanceof BigDecimal) {
bigDecimalList.add((BigDecimal) element);
} else if (element instanceof String) {
try {
BigDecimal number = new BigDecimal((String) element);
bigDecimalList.add(number);
} catch (NumberFormatException e) {
// Ignore elements that cannot be parsed as BigDecimal
}
}
}
System.out.println("BigDecimal List: " + bigDecimalList);
}
}
```
在上面的示例中,我们创建了一个包含不同类型数据的列表`originalList`,其中包含了BigDecimal类型、Double类型、String类型和Integer类型的元素。然后,我们创建了一个空的List<BigDecimal> `bigDecimalList`,用于存放提取出的BigDecimal类型元素。
在循环遍历原始列表时,我们使用`instanceof`运算符检查每个元素的类型。如果元素是BigDecimal类型,直接将其添加到新的List中。如果元素是String类型,我们尝试将其解析为BigDecimal类型,如果解析成功,则将其添加到新的List中。
最后,我们打印出新的List `bigDecimalList`,其中只包含了BigDecimal类型的元素。
请根据你的实际情况调整代码,并处理可能出现的异常情况。
阅读全文