Java中的 LongAdder sumThenReset() 方法及示例
Java中的LongAdder 类创建一个初始和为零的新加法器。 Java.LongAdder.sumThenReset()是Java中的内置方法,相当于 sum() then reset() 函数。首先计算总和,然后将其重置为值 0。创建类的对象时,其初始值为零。
句法:
public long sumThenReset()
参数:该函数不接受任何参数。
返回值:该方法返回一个 long 值,该值是此 LongAdder 在重置为 0 之前的当前总和。
下面的程序演示了上述函数:
方案一:
// Java program to demonstrate
// the LongAdder.sumThenReset() method
import java.lang.*;
import java.util.concurrent.atomic.LongAdder;
public class GFG {
public static void main(String args[])
{
// Initialized with 0
LongAdder num = new LongAdder();
// Print the initial value
System.out.println("Initial value is: "
+ num);
// Add 6 to it
num.add(6);
// Print the final value
System.out.println("After addition"
+ " of 6, value is: "
+ num);
// Add 5 to it
num.add(5);
// Print the final value
System.out.println("After addition"
+ " of 5, value is: "
+ num);
// sumThenReset operation on num
System.out.println("Returned sum before reset: "
+ num.sumThenReset());
// Print the current value
System.out.println("Current value is: "
+ num);
}
}
输出:
Initial value is: 0
After addition of 6, value is: 6
After addition of 5, value is: 11
Returned sum before reset: 11
Current value is: 0
方案二:
// Java program to demonstrate
// the LongAdder.sumThenReset() method
import java.lang.*;
import java.util.concurrent.atomic.LongAdder;
public class GFG {
public static void main(String args[])
{
// Initialized with 0
LongAdder num = new LongAdder();
// Print the initial value
System.out.println("Initial value is: "
+ num);
// Add 10 to it
num.add(10);
// Print the final value
System.out.println("After addition"
+ " of 10, value is: "
+ num);
// Add 100 to it
num.add(100);
// Print the final value
System.out.println("After addition"
+ " of 100, value is: "
+ num);
// sumThenReset operation on num
System.out.println("Returned sum before reset: "
+ num.sumThenReset());
// Print the current value
System.out.println("Current value is: "
+ num);
}
}
输出:
Initial value is: 0
After addition of 10, value is: 10
After addition of 100, value is: 110
Returned sum before reset: 110
Current value is: 0