treeSetにデータを追加すると、ほとんどすべてのデータが失われました。セットの最初の要素しかないようです。
私はコード最適化のためにこの質問HashsetvsTreesetを読み、それらのようなことをしようとしました。しかし、私は本当に成功しませんでした。
入力:
int iValue = 0;
HashSet<TagResult> results = new HashSet<TagResult>();
for(Document doc : docs) {
NodeList nList = doc.getElementsByTagName("TEXT");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
iValue = searchWords.searchOnTag(eElement, szSearch);
if(iValue > 0) {
results.add(new TagResult(eElement, iValue));
}
}
}
}
System.out.println("Set :\n-------------------------");
for(TagResult result : results) {
System.out.println(getTagValue("Tag",result.getElement()));
}
Set<TagResult> sortedResult = new TreeSet<TagResult>(new Comparator<TagResult>() {
public int compare(TagResult e1, TagResult e2) {
return e2.getValue() - e1.getValue();
}
});
sortedResult.addAll(results);
System.out.println("Sorted Result :\n-------------------------");
for(TagResult result : sortedResult) {
System.out.println(getTagValue("Tag",result.getElement()));
}
実行結果は私にそれを与えます:
出力
セットする :
TXT_KEY_RELIGION_POSITIF_MEDIAN_05
TXT_KEY_RELIGION_POSITIF_MEDIAN_02
TXT_KEY_RELIGION_POSITIF_04
TXT_KEY_RELIGION_POSITIF_06
TXT_KEY_RELIGION_POSITIF_05
TXT_KEY_RELIGION_POSITIF_03
TXT_KEY_RELIGION_POSITIF_MEDIAN_06
TXT_KEY_RELIGION_POSITIF_MEDIAN_01
TXT_KEY_RELIGION_POSITIF_MEDIAN_04
TXT_KEY_RELIGION_POSITIF_MEDIAN_08
TXT_KEY_RELIGION_POSITIF_MEDIAN_03
TXT_KEY_RELIGION_POSITIF_02
TXT_KEY_RELIGION_POSITIF_07
TXT_KEY_RELIGION_POSITIF_01
TXT_KEY_RELIGION_POSITIF_MEDIAN_09
TXT_KEY_RELIGION_POSITIF_MEDIAN_07
ソートされた結果:
TXT_KEY_RELIGION_POSITIF_MEDIAN_05
なぜこの問題があるのかわかりません。