我想在javafx饼图中显示javaRDD数据。当我将数据传递给PieChart.Data时,它只接受双重类型作为度量。如何使任何数字都可以接受。
我的代码段
int cIndex = 0;
int mIndex = 1;
ObservableList<PieChart.Data> pieChartData = FXCollections.observableArrayList();
tableMap.collect().forEach((Row row)->{
if(row.get(cIndex)!= null && row.get(mIndex) != null){
pieChartData.add(new PieChart.Data(row.getString(cIndex), (double) row.get(mIndex)));
}
});
答案 0 :(得分:0)
快速浏览JavaDoc会显示方法getDouble(int)
。
编辑:鉴于javaRDD提供了流功能,我希望代码能够使用它而不是先将所有东西都收集到数组中。
tableMap.filter(r -> !r.isNullAt(cIndex) && !r.isNullAt(mIndex))
.map(r -> new PieChart.Data(r.getString(cIndex), r.getDouble(mIndex)))
.forEach(pieChartData::add);