帮助需要从hashmap创建hashset

时间:2010-09-08 14:28:13

标签: java

我已经能够将一个四列文本文件读入一个hashmap并让它写入一个输出文件。但是,我需要将第二列(不同的值)放入一个哈希集并写入输出文件。我已经能够创建hashset,但它抓住了所有东西,而不是排序。顺便说一句,我是新手,所以请在回答时考虑到这一点。感谢

2 个答案:

答案 0 :(得分:4)

<{3}}和HashSet 意味着进行排序。它们基本上是未分类的数据结构。您应该使用HashMap的实现,例如SortedSet

答案 1 :(得分:1)

一些猜测,与Skeets先生的答案以及你明显的混淆有关......

您确定没有在TreeSet中插入整行吗?如果你只打算使用第二列,你需要将字符串(表示行)拆分()到列中 - 这不是自动完成的。

此外,如果您实际上尝试使用第二列作为键对整个文件进行排序,则需要使用 TreeMap ,并使用2:nd列作为键,并使用整行作为数据。但这不会解决分裂,只是为了保持线与键之间的关系。

编辑:这里有一些术语,你可能需要它。

你有Set。它是其他对象的集合 - 如String。您add其他对象,然后您可以通过集合iterating获取其中的所有对象。通过方法add()完成添加,可以使用增强的for loop语法或使用iterator()方法完成迭代。

该套装不会“抢”或“拿”东西;您add设置了一些内容 - 在本例中为String - 不是一个字符串数组,写为String[]

(显然可以将数组添加到TreeSet中(它们也是对象),但顺序与String的内容无关。也许这就是你在做什么。)

String key = splittedLine[1]; // 2:nd element

“键的第二个元素”根本没有意义。你正在谈论的重复是什么。 (注意正确使用撇号......: - )