📜  Java 8 | ObjDoubleConsumer 接口与示例(1)

📅  最后修改于: 2023-12-03 15:31:28.160000             🧑  作者: Mango

Java 8 | ObjDoubleConsumer 接口与示例

在Java 8中,提供了一个新的函数式接口——ObjDoubleConsumer。该接口表示接受一个对象和一个double类型的参数,没有返回值。

接口定义

ObjDoubleConsumer接口的定义如下:

@FunctionalInterface
public interface ObjDoubleConsumer<T> {
    void accept(T t, double value);
}
示例

下面是一个使用ObjDoubleConsumer的示例:

import java.util.HashMap;
import java.util.Map;
import java.util.function.ObjDoubleConsumer;

public class ObjDoubleConsumerExample {
    public static void main(String[] args) {
        Map<String, Double> map = new HashMap<>();
        map.put("Apple", 1.5);
        map.put("Banana", 2.0);
        map.put("Orange", 3.0);
        
        ObjDoubleConsumer<String> objDoubleConsumer = (key, value) -> map.put(key, value * 2);
        
        objDoubleConsumer.accept("Apple", 2.0);
        objDoubleConsumer.accept("Banana", 2.5);
        
        map.forEach((k, v) -> System.out.println(k + " : " + v));
    }
}

输出结果为:

Apple : 3.0
Banana : 5.0
Orange : 3.0

在该示例中,我们使用了ObjDoubleConsumer来修改Map中键对应的值。具体来说,我们将该接口实例化,并使用accept()方法来传递键和一个新的值,从而修改Map中该键对应的值。最后,我们使用forEach()方法来遍历Map并输出每个键和其对应的值。