问题标签 [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.
java - compareTo 和 TreeSet 的问题
我在使用 TreeSets 从我正在开发的游戏中删除一个单元时遇到问题。我正在制作一个塔防游戏,路径被分成设定长度的不同块。这些块知道其中的单元以及路径上的下一个块。当单元离开块的边界时,块将其从列表中删除并将其添加到下一个块。
我正在使用 TreeSet 来跟踪块中单元的顺序,这样我就可以知道哪个单元在路径上最远。这些单元有一个位置字段,可以跟踪它们沿路径的距离,位置越高,它们越远。
在我的一些块上,我注意到当它试图从其 TreeSet 中删除一个单元时,remove 返回 false。我使用了一些断点,我可以看到该单元实际上在 TreeSet 中,所以我认为我的问题是我的攻击单元的 compareTo 方法。
这是我的 compareTo 代码:
我注意到问题的街区之一是单位进入顶部,中途转角并退出右侧的街区。该块有两个 ArrayList,一个用于从上到下的单元 (enPath),一个用于从左到右的单元 (exPath)。这是我遇到问题的代码:
单位在 exPath 和单位(TreeSet)中,但 units.remove(unit) 返回 false。关于如何更改 AttackingUnit 上的 compareTo 以解决此问题的任何想法?
android - Android 字典 TreeSet 更快的加载时间
我的字典中有 300000 个单词(实际上以 txt 格式(新行分隔)保存在我的 Android 设备的 sdcard 上)。我想构建一个数据结构,该结构将花费尽可能少的时间从我的 txt 文件中插入单词(String-s)到这个数据结构中。而且这个 DS 必须非常快地检查字典(这个 DS)中是否存在单词。我已经尝试了几个内置的 DS,最快的 IMO 是 TreeSet。是否有任何其他(非内置)DS 可以更快地插入/创建 DS 并且与 TreeSet 一样用于搜索?
还有一件事是我可以通过重新排列我的 txt 文件(以正确的顺序放置单词)来“帮助”TreeSet 更快地插入。
问候
java - 在 TreeSet 上使用迭代器
情况:我有一个自定义对象的 TreeSet,并且我还使用了一个自定义比较器。我创建了一个迭代器以在此 TreeSet 上使用。
问题:嗯,我想知道,如果我在 while 循环中向 TreeSet 添加一个新元素,那么该新元素会立即排序。换句话说,如果我在 while 循环中添加一个新元素并且它小于我当前在 c 中保存的元素,那么在下一次迭代中,我会在 c 中获得与上一次迭代相同的元素吗?(因为排序后,新添加的元素会占据当前元素之前的某个位置)。
java - 用整数填充(树)集的最短方法?
如果我想制作一个(树)集并用 2000 个整数填充它。从 0 开始,然后添加 1,2,3,4...2000。最好的方法是什么?
我可以
或使用 add(i);i++;
但是有没有更简单/更短的方法?
谢谢!
java - TreeSet contains 方法对我不起作用
我想将自定义的数据放入TreeSet
. 当自定义数字相同时,我添加交易量。
这是我TradeNode
实现Comparable
Interator 的类。
测试类是:
我认为输出应该是这样的:
但输出是
有人可以帮助我并指出我的错在哪里吗?
如果我像这样更改 compareTo() 方法,它仍然不起作用。
结果是:
我尝试了Ben Xu的方法,代码如下:我的新 compareTo() 方法:
我的新Testtree类:
结果是:
最后,它满足了我的要求。但是我仍然不知道为什么这个新的 compareTo() 方法在下面的测试方法中不起作用:
结果是:
我认为它是:
有人能告诉我新的 compareTo() 方法的错误在哪里吗?非常感谢,感谢任何帮助我的人。
哈哈哈,我从 JavaRanch 得到了答案。有个叫亨利的人告诉我答案。现在我认为当我们在 TreeSet 中使用 contains() 方法时,它不会搜索此 Set 中的所有内容,它只搜索排序值。
新的 Testtree3 类是:
结果是:
哈哈。现在我将去寻找 TreeSet 背后的代码。
java - InetSocketAddress 的 Java 比较器
我需要写Comparator
,InetSocketAddress
以便我可以在TreeSet
. 它们需要通过地址和端口进行比较。
代码看起来像这样,但问题是我不知道如何通过 <(-1),>(1),=(0) 比较地址和端口
编辑...实际问题。如何比较 InetSocketAddress。
java - 从 Android 中的 ArrayList 中删除重复的对象
我知道这已经在这里讨论了一遍又一遍,但我尝试过的例子都没有为我工作。
我有什么
我从 Android 访问通话记录,并获得所有通话的列表。当然,在这里我得到了很多重复。首先我列一个清单
然后我将对象添加到其中
Contact Object 类很简单
我需要的
我只需要在列表中有一个联系人。正如我在这里所读到的,有几件事可以完成,例如 Set、HashSet、TreeSet。TreeSet 似乎是最好的,因为它保持了我从呼叫日志中收到的顺序。我试图让我的代码使用它,但没有成功。谁能根据我的例子给我一个示例代码。感谢您的时间。
工作解决方案。谢谢大家的支持,你们让我开心。
在 ContactObject 中重写这两个方法
//Getter 和 Setter 以及构造函数....
只需将其用作
java - Android 中是否缺少 TreeSet.floor() 和 TreeSet.ceiling() 方法?
这对我来说是一个很深的谜。
看看这个:
在普通的 Java VM 中,它可以很好地编译和运行。
如果我看看Android的API文档,甚至根据: http ://www.java2s.com/Open-Source/Android/android-core/platform-libcore/java/util/TreeSet.java.htm
方法天花板和地板应该在那里。
但是如果我尝试在 Eclipse + Android SDK 中使用它们(构建目标是“8”),Eclipse 告诉我没有为类 TreeSet 定义 floor(Long) 和 ceiling(Long)
任何的想法?
谢谢,卡尔海因茨
java - 将 HashMap 值添加到 TreeSet 时出错
这是一些示例代码...我似乎总是遇到 ClassCastException...有人指出我做错了什么吗?
java - 动态搜索 TreeSet 中的记录
我正在使用 swing 和 awt 库在 Java 中编写通讯录应用程序。该应用程序由一个使用 TreeSet 作为 abstractListModel 的 JList 组成。
TreeSet 用于名为 Contact 的类,该类具有私有比较器类,可根据联系人的名字对联系人进行排序。private boolean equals(Object o)
如果 Contact 具有与 O 相同的 mobileNumber(当然是在转换之后),则该方法返回 true。
我想在此应用程序中添加搜索功能。我进行了搜索 JTextField 并添加了一个 keyListener ,我想要做的是在按下每个键后,列表会显示一组包含搜索词的缩小结果。在 TreeSet 或任何其他集合中是否有此方法?我希望它类似于您在 iPod 中的音乐应用程序中的内容,例如,当您键入字母“f”时,它会列出所有包含字母 F 的歌曲,但仅在您键入“50 cent”时出现您想要的歌手的歌曲。
谢谢你的帮助。