问题标签 [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 投票
1 回答
15001 浏览

java - TreeSet 自定义比较器算法 .. 字符串比较

从提供的输入字符串:

{ "200,400,7,1", "100,0,1,1", "200,200,3,1", "0,400,11,1", "407,308,5,1","100,600,9,1" } ,

我在 TreeSet 中添加了相同的内容,并希望它按照第 3 个元素顺序进行排序,因此预期的输出将是:

(100,0,1,1) (200,200,3,1) (407,308,5,1) (200,400,7,1) (100,600,9,1) (0,400,11,1)

但我的实际输出是:

(100,0,1,1)(0,400,11,1)(200,200,3,1)(407,308,5,1)(200,400,7,1)(100,600,9,1)

但是由于 11 的字符串比较小于 9 但就整数而言, 11>9 。我的预期输出有所不同。建议我一些想法来解决同样的问题。

0 投票
4 回答
5314 浏览

java - 排序集比较一个字段的相等性并按另一个字段排序

请查看代码:

打印出

正如我所看到的,因为compareTo用于检查相等性(返回 0 时)。但我需要按字段检查唯一性,TestClass.name并且只按TestClass.value

0 投票
1 回答
1459 浏览

java - 带有 GNU trove 的整数的 SortedSet

出于性能原因,我正在将一些代码迁移到 GNU trove。

但是,我确实有一些 TreeSet,我需要相当快速的更新和查找以及排序迭代 - TreeSet 的主要用例。当然,我会检查使用情况并检查是否可以使用 HashSet 一样好。

什么是 GNU Trove 中用于 SortedSet 的合适替代品?

谢谢你。

0 投票
8 回答
44070 浏览

java - 如何在 Java 中返回 TreeSet 中的第 k 个元素?

也许我没有使用正确的数据结构。我需要使用一个集合,但也想有效地返回第 k 个最小的元素。TreeSetJava可以做到这一点吗?似乎没有内置的方法TreeSet可以做到这一点。

0 投票
2 回答
494 浏览

java - 基于可变属性的 TreeSet 比较器

我的问题是非常基本的,但我不知道如何正确解决它。我有一个 TreeSet,它使用基于实体名称的比较器。但是,我可以更改该名称。如何强制重新排序 TreeSet?

有什么set.relayout()我应该调用的方法,还是我做错了?

0 投票
2 回答
23028 浏览

java - Java - 转换 TreeSet 的最有效方法成一个字符串[]?

我正在这样做:

但这在运行时给了我一个 ClassCastException 。

我唯一能想到的就是先创建一个数组,然后遍历 myTreeSet 中的每个元素并将其添加到数组中。似乎必须有比这更好的方法。有没有或者我应该这样做?

谢谢。

0 投票
1 回答
625 浏览

java - 如何检查矩形集合中的孔和交叉点?

我正在寻找一种方法来检查矩形的集合(Java TreeSet) - 由使用谷歌番石榴范围的“可比”Java 类实现 x 和 y 范围 - 交叉点和孔。我知道一个选项可能是使用 kd-trees,但我不知道如何构建这样一个 kd-tree(对于矩形,它应该是 4d,不是吗?)以及如何解决问题(交叉点,孔)。

排序将 x 轴优先于 y 轴。

编辑:(尝试重述问题):用例是创建任意表(由 2 或 3 个矩形块“标题”、“前列”、“数据”组成)。我必须保证每个块中没有交叉点和漏洞(即由无效的 html 或其他表格数据源提供)(除此之外,块必须组合在一起)。目前(刚刚有了一个想法)我尝试保存一个二维数组,其中位置(x,y)被占用。最后,所有位置必须恰好被占用一次。

0 投票
4 回答
42726 浏览

java - 将 TreeSet 转换为 ArrayList?

我有一个包含 > 100k 个对象的 TreeSet。我有另一种需要 ArrayList 作为参数的方法。

有什么方法可以在不迭代整个 TreeSet 然后手动将每个对象添加到 ArrayList 的情况下完成此操作?

0 投票
1 回答
577 浏览

jakarta-ee - 为什么当我推入三个对象时,TreeSet 只能容纳一个对象?

我想将一些对象推入 TreeSet(在 BigHeap 类中),但我遇到了问题:

这是我的主要课程:

这是我的 BigHeap.java:

问题是,为什么 bigHeap 推送了 3 次(不同的对象)但毕竟只持有一个对象。

0 投票
1 回答
456 浏览

java - TreeSet 类型的方法 remove() 返回

所以我正在查看 TreeSet 类中的 remove() 方法,该方法的返回类型为布尔值。java api 表示,如果我们要删除的项目在树中,并且被删除,则该方法返回 true。如果项目不在树中,或者已经被删除,这个方法会引发异常吗?我可以修改该方法,以便在未删除元素时返回 false 吗?