String item = freqItems.elementAt(i); //遍历频繁项集中的频繁项目
Vector<Map.Entry<TNode, Set<String>>> itemPathVect = this.getItemPath(item);
System.out.println(itemPathVect+"--所有节点的路径");
for(int m=0; m<itemPathVect.size(); m++){
TNode nodem = null;
Set<String> pathm = new HashSet<String>();
System.out.println(itemPathVect.get(m)+"--某节点的路径");
nodem = itemPathVect.get(m).getKey();
pathm = itemPathVect.get(m).getValue();
控制台输出的结果如下:
[wi.FPGrowth.TNode@1172e08=[摩托车, 零-五年], wi.FPGrowth.TNode@1a8c4e7=[摩托车, 零-五年, 轻微]]--所有节点的路径
wi.FPGrowth.TNode@1172e08=[摩托车, 零-五年]--某节点的路径
wi.FPGrowth.TNode@1a8c4e7=[轻微]--某节点的路径零-五年-------------节点---
[零-五年, 轻微]-------------路径-----
零-五年-------------节点---
[零-五年]-------------路径-----
[wi.FPGrowth.TNode@1729854=[零-五年], wi.FPGrowth.TNode@cf2c80=[零-五年, 轻微]]--所有节点的路径
wi.FPGrowth.TNode@1729854=[零-五年]--某节点的路径
wi.FPGrowth.TNode@cf2c80=[轻微]--某节点的路径轻微-------------节点---
[轻微]-------------路径-----
[wi.FPGrowth.TNode@6eb38a=[轻微]]-------------频繁项目的所有节点的路径
wi.FPGrowth.TNode@6eb38a=[轻微]-------------频繁项目的某节点的路径
[wi.FPGrowth.TNode@1172e08=[摩托车, 零-五年], wi.FPGrowth.TNode@1a8c4e7=[摩托车, 零-五年, 轻微]]--所有节点的路径 这个输出是正确的,为什么当遍历到itemPathVect的第二个element时,
本应该是wi.FPGrowth.TNode@1a8c4e7=[摩托车, 零-五年, 轻微]
而得到的结果却是wi.FPGrowth.TNode@1a8c4e7=[轻微]--某节点的路径 ? 很急很急啊。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货