问题标签 [treeset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1366 浏览

java - Java Set 无法区分不同的对象

我有一个类Human,其中包含两个字段age(int)name(String)。使用 Eclipse,我用这两个字段覆盖了hashCode()equals()方法。我还根据年龄字段创建了一个比较器。

现在,我创建了一个带有年龄比较器的TreeSet对象,以及Human类的两个实例(具有不同的字段值) 。然后我将这两个对象添加到集合中,但是,集合中始终只有一个对象。

为了理解问题,我打印出这两个对象的哈希值,发现它们是不同的。然后,我测试了他们的equals()方法,当我比较具有不同字段值的两个实例时,它确实输出false 。所以现在,我无法弄清楚为什么TreeSet不能处理(区分)问题。谁能给我一些帮助?非常感谢 !

0 投票
4 回答
8525 浏览

java - 我不能在 SortedSet 中放入 null 吗?

我认为这null是允许的Set
那么为什么下面的代码:

给出以下异常?


java.lang.Integer.compareTo(Unknown Source) 处
java.lang.Integer.compareTo(Unknown Source) 处
java.util.TreeMap.put(Unknown Source) 处的线程“main”java.lang.NullPointerException 中的异常
。 util.TreeSet.add(未知来源)

0 投票
2 回答
148 浏览

java - 添加到 TreeSet 时记录位置

我有一个包含大约 20,000,000 个条目的列表。大约 5,000,000 个条目是唯一的。我需要遍历我的列表,识别唯一条目,并为每个条目分配一个 0 到 5,000,000 之间的整数。

目前,我按顺序将每个条目添加到 TreeSet,然后使用 .headSet() 找出它的去向。我想这是次优的。

当我调用 .add() 时,有没有办法获取位置?

0 投票
2 回答
822 浏览

java - 如何克服freemarker树集按字母顺序排序int键?

我有一个树集。

字符串键实际上是一个 int 的字符串值,因为 freemarker 不允许 int 作为映射的键,并且由于这是一个排序的映射,它对它的排序如下:

1
10
11
12
2
3
4
5
6
7
8
9

任何人都知道如何解决这个问题并使其按数字顺序打印?

谢谢

0 投票
4 回答
2230 浏览

java - 拥有树集而不是手动排序集的好处

在集合中,我们可以根据我们的要求对集合或地图进行排序。Treeset 或 TreeMap 也提供排序集合。当我们需要排序集合时,使用树集有什么好处吗

0 投票
1 回答
14480 浏览

java - 与集合相等和可比

我在这里发布了一些代码,它正确地解决了发布者遇到的问题。OP 希望删除重复项并将某些特殊项目置于列表顶部。我使用了TreeSet一个特殊的Comparable类,它包装了Locale他们正在使用的东西来实现他们想要的东西。

然后我开始思考......就像你一样......我是通过0compareTo方法返回来消除重复项,而不是通过trueequals实现返回来正确指示 a 中的重复项Set(根据 a 的定义Set)。

我不反对使用这种技术,但我是否使用了可能被视为未记录的功能?我可以安全地假设未来做这种事情会继续奏效吗?

0 投票
2 回答
252 浏览

java - Java设置奇怪的行为

我遇到了一个问题,我需要根据某些条件更改排序集的可比较值。

做这样的事情:

不会自动重新排列 SortedSet。

在线阅读我发现我需要从集合中删除对象然后再次添加它。显然,在迭代集合时我不能这样做。所以我决定制作一个数组列表。使集合为空,然后再次添加所有元素,以便它们遵循排序顺序。我做了这样的事情:

SortedSet 组;

但是当我检查组集时,它没有遵循基于比较对象 T 序数的比较器的排序顺序

但是当我尝试这样的事情时:

SortedSet 组;

我得到了预期的结果。有人可以解释一下发生了什么吗?

这就是我实现我的 T 类的方式

对于那些想看到完整程序的人:

正确的结果给出方法:

谢谢。

0 投票
1 回答
1983 浏览

scjp - 树集子集

嗨,我无法理解为什么这段代码的输出是 'ex [6, 7, b, d] [6, 7, b]'。请有人建议子集如何处理数字和字母?谢谢

0 投票
2 回答
409 浏览

java - 如何反转 TreeSet 实例中数据的顺序?

我有一个名为 Dictionary 的类,它是排序字符串的集合。该类是 TreeSet 类的扩展,这意味着它使用 Comparator 进行排序。我想有一个反向方法来反转数据集的顺序,但不幸的是这是不可能的,因为 TreeSet 在初始化后无法更改它的 Comparator 。作为一种解决方法,我尝试使用原始 Comparator 的反转版本创建一个新的 Dictionary 实例,但我想不出任何方法来指向this新对象。

这可能吗?也许是一个完全不同的解决方案?

0 投票
0 回答
223 浏览

java - 是否可以在 dwr 中使用树集?

我的问题是,我尝试使用 DWR 将 TreeSet 放入我的 Javascript 中。这是我的示例代码:

Java代码:

控制器-servlet.xml:

模型.xml:

在我的 HTML 文档中:

现在是我的问题,我从 apache 服务器得到响应:

我不明白我的错,你能帮帮我吗?有可能,dwr 不能与树集一起工作吗?

问候曼尼