小编Jef*_* Xi的帖子

Java 8:输入功能接口列表并在 .stream() 之后动态调用它们

我有以下方法:


public void caller(){
    List<Class1> data1 = Arrays.asList(new Class1(), new Class1() ...);
    List<Class2> data2 = Arrays.asList(new Class2(), new Class2() ...);

    // The following is what I'm trying to implement:
    List<BiConsumer<Class1, Double>> peeks1 = Arrays.asList(Class1::setOneNum, Class1::setAnotherNum, Class1:: setMoreNum);
    List<BiConsumer<Class2, Double>> peeks2 = Arrays.asList(Class2::setSomeNum1, Class2::setSomeNum2);

    helper(data1, peeks1);
    helper(data2, peeks2);
    ...
}

private <T> List<T> helper(List<T> data, List<BiConsumer<T, Double>> peeks) {

        for(BiConsumer<T, Double> singlePeek: peeks){
            data = data.stream()
                    .peek(a -> singlePeek.accept(a, math.random()))
                    .collect(Collectors.toList());
        }

        return data;
    }
Run Code Online (Sandbox Code Playgroud)

Class1and有其他共同的实​​现Class2,唯一的区别是在 the 之后调用的方法, …

java java-stream

3
推荐指数
1
解决办法
401
查看次数

nlminb的PORT例程中的算法名称?

我正在使用包装gnls功能nlme以拟合曲线。当我试图知道它使用的是什么优化器时,我被定向到nlminb函数文档,它指出:

使用PORT例程的无约束和框约束优化。

我不知道什么是“ PORT例程”。它是一系列优化算法还是仅仅是称为“ PORT例程”的优化算法?

任何人都可以至少请在“例程”中告诉我一些名称。例如,“梯度下降”,“ Levenberg-Marquardt”还是“信任区域”?

提前致谢!!

r nonlinear-optimization nlme

2
推荐指数
1
解决办法
491
查看次数

迭代 SortedDict 中的项目的时间复杂度?

from sortedcontainers import SortedDict

d = SortedDict(b=20, d=30, c=10, e=50, a=40)

# What is the time complexity of the following code?
for k, v in d.items():
    print(k, v)

Run Code Online (Sandbox Code Playgroud)

我认为时间复杂度应该是nlog(n)从排序字典中获取条目的成本log(n),即使我们迭代这个字典,我们基本上执行get操作n次。我的理解正确吗?

python sorteddictionary sortedcontainers

1
推荐指数
1
解决办法
169
查看次数