【发布时间】:2014-02-09 12:03:12
【问题描述】:
我有“Var”的TreeSet Var 是我自己的课程: http://pastebin.com/pXC4q2YB
我需要“字符串”对于 Var 的 TreeSet 是唯一的 因此集合中的任何 Var 都不能具有相同的“字符串”/“.getKey()”
我重写了 compareTo 方法,但是当我向该集合添加值时...
这仍然使用相同的键添加 Var...
我添加了一些调试...并且 compareTo 不针对某些组合运行。
一开始我有 8 个变量,接下来我会继续添加,但是每次 Var.replace 中的某些变量都不同,所以在第二次添加之后,我有 14 个元素......再过一些...... 30,然后结束,在集合中获得 30 Var 后,它会停止添加下一个。
PS:我使用该代码添加: http://pastebin.com/N372QUck
“变量”是 Var 的那个 Set
我经常使用此代码,因此不会很慢,8 个变量仅用于测试,如果有人愿意,可以增加约 50 个或更多。
【问题讨论】:
-
使用
Map将键用作键并将值存储为new Var(replace, types)之类的东西可能更容易,不是吗?这样,您的重复键和compareTo方法就不会出现问题,因为映射只能保存唯一键。想想吧! -
@bobbel Ach...愚蠢的我...我尝试了一些 Map
> 和其他奇怪且过于复杂的东西...但我什至不不要想那张简单的地图……谢谢!