我想使用两列CSV文件来获取节点的所有子代的ID和计数,其中一列是父ID,一列是子ID。
例如
Child Id Parent Id
C1 C2
C3 C1
C4 C3
我想要这样的结果:
C2 C1, C3, C4 3
答案 0 :(得分:0)
尚不清楚。您是否有一些代码或可视化表示形式? 如果我正确理解,则可以使树成树,而不能使树成树,其中键是ParentId,值是子代或对象的整数 可能看起来像
class Child {
List<String> ids;
int count;
public Child(String id) {
count=1;
if (ids.size() < 1) {
ids = new ArrayList<>();
}
ids.add(id);
}
public Child setChild(String id) {
if (ids.size() < 1) {
ids = new ArrayList<>();
}
ids.add(id);
count++;
return this;
}
class Main{
//your logic
Map<String, Child> map = new HashMap<>();
if (!map.containsKey(parent)){
map.put(parent,new Child(id));
}else
map.computeIfPresent(parent, (key, value) -> value.setChild(id));
}
PS
如果您只需要数您的孩子,那就这样做
String parent = "";
Map<String, Integer> map = new HashMap<>();
if (!map.containsKey(parent)) {
map.put(parent, 1);
} else {
map.computeIfPresent(parent, (key, value) -> new Integer(value.intValue()+1));
}
此处使用了伪父级,但您应该插入自己的父级。