在 KNIME 中使用 Java 对列表(编码为字符串)中的值进行排序

Sort values within a list (coded as a string) with Java in KNIME

我几乎没有使用 java 的经验,但由于某些原因我无法在 KNIME Analytics Plattform 中使用 R 代码段(尽管 Java 代码段有效),我想知道如何处理 Java 以下 R 代码的作用:

library(dplyr)
Object <- dataset %>% group_by(Dimension1) %>% summarise(Set = toString(unique(sort(Dimension2))))

我得到了像这样的长格式数据:

编号。值
1 个苹果
1 橙色
1 根香蕉
1 个苹果
2 橙色
2 根香蕉
2 苹果
3 草莓
3 根香蕉
4 根香蕉
4 根香蕉
4 草莓

使用 KNIME "Group By"-节点,我可以按 Nr 聚合它们。作为排序列表或作为一组唯一值(不幸的是随机排序)。但是,我想要一个唯一值的排序列表(例如按字母顺序排列),例如:

编号。值
1 个苹果香蕉橙
2 苹果香蕉橙
3 香蕉草莓
4 香蕉草莓

如何使用 Java(或 KNIME,如果可能)做到这一点?

按节点分组的输出是如下字符串:

1 个橘子、苹果、香蕉
2 苹果、香蕉、橙子
3 香蕉、草莓
4 草莓、香蕉

您可以使用以下代码片段对 groupby(集合)的结果进行后处理(column1 是组内值的集合):

String [] res = c_column1;
java.util.Arrays.sort(res);
out_column1 = res;