Когда я добавил свои данные в treeSet, я потерял почти все свои данные. Кажется, у меня есть только первый элемент моего набора.
Я прочитал этот вопрос Hashset vs Treeset для оптимизации кода и попытался сделать что-то подобное. Но мне особо не удалось.
Ввод:
int iValue = 0;
HashSet results = new HashSet();
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 sortedResult = new TreeSet(new Comparator() {
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
Я не понимаю, почему у меня эта проблема.