问题标签 [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 回答
873 浏览

java - 使用 2D 数组为 TreeSet 创建比较器 - Java

在我的 Java 程序中,我有一个包含 2D 数组的 TreeSet。但是,我不希望其中有任何重复项,因此我决定创建一个实现 Comparator 的类,以便使用 TreeSet 的 contains() 方法,看看我是否添加了重复项。但是,contains() 有时似乎无法正常工作。这是比较器:

我没有实现 equals() 方法,也不知道该怎么做。我应该怎么办?

0 投票
1 回答
905 浏览

java - Java 通用树集

嗨,我在创建带有迭代器的通用 TreeSet 时遇到问题。我想将它用于三种不同的类型。

谁能帮我怎么做?

0 投票
2 回答
393 浏览

java - TreeSet 排序错误

我有一个名为numb. 它包含 5 个数字(来自用户的输入) 输入值的示例是:5,29,101,100,89.4。我使用 for 循环将此数组的元素转移到一个TreeSet调用ts中(我按降序排列元素)。在此之后,我TreeSet使用MessageDialog. 但是显示器显示的东西与我的预期不同。它显示[89.4,5,29,101,100].

当我输入具有相同位值的数字时——比如几十、几百(如果数组只包含像 12、56、84、74、65 这样的数字),它会按预期排序。我不知道我做错了什么。

这是代码:

0 投票
4 回答
4298 浏览

java - 遍历整数树集并将值从 next() 存储到 Integer 变量

为了简单起见,我删减了我的程序,但是有必要将 next() 的值存储在一个变量中,因为我在迭代器循环中执行了其他一些操作来检查该值是否与某些东西相匹配。但是我在存储该值时遇到了麻烦,我收到一条错误消息,说“不兼容的类型”。

0 投票
1 回答
3783 浏览

java - TreeSet 和 HashSet 中的 addAll 是如何工作的?

当我在 treeSet 上添加数据时,我几乎丢失了所有数据。看来我只有我的集合的第一个元素。

我阅读了这个问题Hashset vs Treeset以进行代码优化,并尝试做类似的事情。但我并没有真正成功。

输入 :

执行结果告诉我:

输出

放 :

排序结果:

我不明白为什么我有这个问题。

0 投票
3 回答
8320 浏览

java - 删除 TreeSet 中的重复项

我一直在为我的项目使用 ArrayList 来存储板球队球员并订购他们。我开始考虑使用 TreeSet,因为它具有删除重复项的优势。但是我遇到的问题是,例如,如果我创建了以下两个播放器:

请注意,这两个玩家的名字和姓氏相同,但其他一切都不同。当我尝试将这两个玩家添加到 TreeSet 时,由于名称相似,它认为它们是重复的,并删除了第二个。显然我不希望这种情况发生,并且我希望 Set 仅在他拥有的一切都与另一名球员相同的情况下移除一名球员,而不仅仅是名字和姓氏。

有没有办法实现这一目标?

我的 TreeSet 也需要一个 Player 对象。

0 投票
1 回答
223 浏览

java - `TreeSet` 的可排序性的可靠性

使用以下Java代码是否可靠:

在第三个索引处获取对象(假设ts.size() > 3)?

也就是说TreeSet<T>#toArray(T[]),如果不对集合进行任何修改,是否总是以相同的顺序返回元素?

如果重要的话,这适用于ComboBoxModel应该只有唯一元素的实现(最好我会使用不存在的元素UniqueList)。

谢谢!

厕所

0 投票
4 回答
3246 浏览

java - 将 TreeSet 元素的顺序更改为自定义输出

我知道 TreeSet 以排序方式存储对象。但是有没有办法可以自定义订单?

例如,如果我有一个 treeSet:

现在如果我遍历它>

我将始终得到订单:a>c>d,但是我希望它返回与我在其中添加元素相同的订单,即c>d>a

0 投票
3 回答
2434 浏览

java - 如何通知 JTable 更新其模型

我正在寻找一种模式来通知我JTable在 TableModel 中处理的数据已更改。想法是我有一个TreeSet管理数据的全局单例。我收到随机更新。TreeSet如果对 TreeSet 进行了任何更改,则TableModel应该通过从 TreeSet 收集新信息来更新自身。

观察者?事件+监听器?还要别的吗?

感谢您的帮助!

ps:更新模型的方法已经实现,不是问题的一部分。

0 投票
4 回答
1597 浏览

java - 按一个值对 Java 对象集合进行排序,并按另一个值保持唯一性

我需要按整数值“级别”对 Java 对象集合进行排序。我还需要通过“标题”确定此集合是否已经包含一个对象。

我相信集合的最佳选择是具有一组有序唯一值的 TreeSet。

我有一个具有“级别”和“标题”属性的对象。它的实现方式如下:

它覆盖 Equals 方法(用于检查对象是否已通过“标题”包含在 TreeSet 中。

代码如下所示:

当我尝试将具有可能重复值的数组列表中的值添加到列表中时。包含似乎不起作用,并且无论如何都会将对象添加到 TreeSet 中。这是代码:

理想情况下,我希望有一个按级别排序的所有独特工件的列表。我该如何做到这一点?