[英]What would be a good data structure to store both Integer and array[String] values?
我需要一个数据结构来存储与可变大小的字符串数组相关联的多个整数值。 例如,这就是我所拥有的 -
ADDRESS INSTRUCTION
64 ADD R1, R0, R0
68 BGTZ R2, #32
. .
. .
. .
124 J #116
在哪里我想获取一个INSTRUCTION ,我想应该根据ADDRESS值存储为一个字符串数组(不包括逗号和'#'),更像是一个键值对。 这是我认为存储它应该是一个好主意或者如果你可以建议我在内存中表示这个更好的方法它会很棒。 (我使用Java编写代码。)
一个好的数据结构( WHICH ?)与推理( 为什么 ?)和一个详细的解释( 如何 ?)将是非常好的。
哪一个?
Map<Integer, List<String>>
为什么?
怎么样?
Map<Integer, List<String>> map = new HashMap<>();
map.put(64, new ArrayList<String>());
map.get(64).addAll("ADD", "R1", "R0", "R0");
利润!
地图Map<Integer, List<String>>
; 这是自然的格式。
虽然我同意地图可行,但我认为它在语义层面上并不是一个干净的匹配。 相反,我会选择一个具有List(或数组)命令和目标地址的自定义Object:
public class InstructionSet{
private int address;
private String[] commands;
// getters, setters
}
然后我将分配这些自定义对象的列表。
但是如果你想使用Map,我会选择Guava Multimap
之前的答案给出了哪些以及一些原因 。 有关方法 ,请参阅http://docs.oracle.com/javase/tutorial/collections/interfaces/map.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.