gpt4 book ai didi

java - 从方法获取返回值以在 for 循环中使用

转载 作者:行者123 更新时间:2023-12-02 01:07:54 28 4
gpt4 key购买 nike

这是基本的,但我找不到答案...我正在主类中使用 3 个参数调用方法 Kmeans(centers, dataset, k) 。该方法返回中心。如何在另一个类的 for 循环中使用中心返回?

从主类调用方法...

concurrentKmeans(centers, dataset, k);

方法...

public static List<TockaXY> kmeans(List<TockaXY> centers, List<TockaXY> dataset, int k) {
boolean converged;
do {
List<TockaXY> noviCentri = noviCentri(dataset, centers);
double dist = dobiRazdaljoCenters(centers, noviCentri);
centers = noviCentri;
converged = dist == 0;
} while (!converged);
return centers;
}

尝试在 for 循环中使用它来迭代 List<TockaXY> ...

public class WebviewLoadListner implements ChangeListener<State>{

@Override
public void changed(ObservableValue<? extends State> observable, State from, State to) {
if (to == State.SUCCEEDED)
{
SampleController.engine.executeScript("jumpTo("+46.641389+","+49.756667+","+10+")");
for(int i =0; i<Main.kmeans(centers, dataset, k); i++){

}

}
}

}

最佳答案

更好的方法是调用该方法并将其设置为局部变量,然后在 for 循环中使用它。在 for 循环条件内使用函数调用并不理想,因为每次计算时都会为每次循环迭代调用相同的函数,这会影响性能。

SampleController.engine.executeScript("jumpTo("+46.641389+","+49.756667+","+10+")");

List<TockaXY> list = Main.kmeans(centers, dataset, k);
for(int i =0; i< list.size(); i++){
//Use list.get(i) for each individual element in the list
}

List<TockaXY> list = Main.kmeans(centers, dataset, k);
for(TockaXY toc : list) {
//toc will give individual element in the list
}

使用 JDK 8,我们可以使用流来访问元素

List<TockaXY> list = Main.kmeans(centers, dataset, k);
list.stream().forEach(toc -> {
//Your operation with toc
});

关于java - 从方法获取返回值以在 for 循环中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57713969/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com