【发布时间】:2012-01-26 06:49:27
【问题描述】:
将数组元素转换为新字典中的键的最佳方法是什么?
【问题讨论】:
-
要在 Java 中创建字典(或者更确切地说是 HashMap),您将需要键和值。当您将值与关联的键一起放入 Map 时,会创建 Map 键。您能否详细说明您真正需要做什么?
标签: java arrays dictionary
将数组元素转换为新字典中的键的最佳方法是什么?
【问题讨论】:
标签: java arrays dictionary
Integer[] keys = {1, 2, 3};
HashMap<Integer, Object> map = new HashMap<Integer, Object>();
Collections.addAll( map.keySet(), keys );
【讨论】:
这没什么好说的,但让我们看看:
假设您有一个int[10],并且您想将它们存储在一个HashMap 中(现在字典很少使用)。你可以这样做:
Map<Integer, Integer> dict = new HashMap<Integer, Integer>();
for(int i = 0; i < array.length; i++) {
dict.put(i,array[i]); // autoboxing takes care of primitives
}
如果您希望将数组中的实际值用作字典中的键,那么您必须问自己“我的字典值来自哪里?”
例如,如果您希望将值作为索引,则可以将上面的内容颠倒过来
dict.put(array[i],i);
也许你有另一个数组,里面有一些值。
int[] intArray = ...
String[] strArray = ...
Map<Integer, String> dict = new HashMap<Integer, String>();
for(int i = 0; i < array.length; i++) {
dict.put(intArray[i], strArray[i]); // autoboxing takes care of primitives
}
简单地说,你有一个put 方法。第一个参数是键,第二个参数是值。只要您在数组上进行迭代,您就会拥有您的密钥;那么这只是决定其中包含哪些值的问题。
【讨论】: