Tag: 数据结构

创建arraylist的hashmap的最佳方法

我有.txt格式的一百万行数据。 格式很简单。 对于每一行: USER1,值1 用户2,值2 用户3,值3 USER1,VALUE4 … 你知道我的意思。 对于每个用户,它可能会出现多次,或只出现一次(您永远不会知道)。 我需要找出每个用户的所有值。 因为用户可能会随机出现,所以我使用Hashmap来做。 即:HashMap(key:String,value:ArrayList)。 但是要向arrayList添加数据,我必须经常使用HashMap get(key)来获取arrayList,为它添加值,然后将其放回HashMap。 我觉得效率不高。 谁知道更好的方法呢?

可以将一系列键映射到值的数据结构

我试图找到一个数据结构,从一系列值中获取特定值并将其映射到一个键。 例如,我有以下条件: 从1到2.9,我想将它映射到A. 从4到6,我想将它映射到B. 从6.5到10,我想将它映射到C. 我的值为5,我想将其映射到一个键。 所以基于上述条件,我应该把它映射到B. Java中是否有任何人可以向我推荐解决问题的数据结构? 目前我使用的哈希表只能将值映射到键。 我尝试将值范围映射到哈希表中存在的特定值。 但是,我陷入了将值范围映射到特定值的问题。 所以现在我试图用另一种方法将值范围映射到键。 有谁知道如何解决这个问题? 编辑: 感谢Martin Ellis,我决定使用TreeMap来解决这个问题。

JTable设计与后端数据结构同步

我有一个使用表模型从数据结构加载的JTable。数据结构的格式为NavigableMap<Float,NavigableMap> 。示例数据为: Table Format: Range f1,v1 f2,v2 f3,v3 f4,v4 12.1-30.2 30,true 32,false 45,true 50,false 30.2-45.6 30,true 32.4,true 45,true 50.1,true 以上数据格式在DS中表示为 DS Format: Key Value 12.1 <,,,> 30.2 <,,,> 45.6 null 我已经设法使用table-model在Jtable中表示上面给出的数据。一旦数据从DS加载到表我必须允许用户编辑。现在我有问题。我怀疑是否应该保留数据结构与表中的更改同步,或者我应该在用户完成编辑后从表中重新创建DS,然后将其替换为旧的DS。 更多我需要validation数据(例如从上面 – 假设用户想要编辑值30.1。他应该只允许输入12.1和45.6之间的值。因为数据表是字符串的(一旦加载)我是计划使用正则表达式和键监听器,并使用所有用户键按下与正则表达式不匹配的值和不在范围内的值。我不确定这是一个好主意还是含义。我会想得到一些建议。