Android:Java中的Hashmap或Sequence

Android:Java中的Hashmap或Sequence,java,android,Java,Android,基于参考-->此处在我的应用程序中实现[创建键/值和处理输入]更合适的方法是什么如果您希望在键-->值对的情况下使用最好的方法,您应该选中为此而设计的阵列映射。它们类似于HashMaps,但内存效率更高 您可以在此处检查此示例: 为了以防万一,这里还有一个HashMap的示例: Map<String, String> map = new HashMap<String, String>(); map.put("145", "PentHouse"); map.pu

基于参考-->此处在我的应用程序中实现[创建键/值和处理输入]更合适的方法是什么如果您希望在键-->值对的情况下使用最好的方法,您应该选中为此而设计的
阵列映射
。它们类似于HashMaps,但内存效率更高

您可以在此处检查此示例:

为了以防万一,这里还有一个
HashMap
的示例:

Map<String, String> map = new HashMap<String, String>();
map.put("145", "PentHouse");
map.put("125", "BoardRoom");
map.put("145", "PentHouse");

String room = map.get("8");
// room will be null if "8" isn't a key in the map.

如果您希望在键-->值对的情况下使用最好的方法,则应选中为此而设计的
阵列映射
。它们类似于HashMaps,但内存效率更高

您可以在此处检查此示例:

为了以防万一,这里还有一个
HashMap
的示例:

Map<String, String> map = new HashMap<String, String>();
map.put("145", "PentHouse");
map.put("125", "BoardRoom");
map.put("145", "PentHouse");

String room = map.get("8");
// room will be null if "8" isn't a key in the map.


使用
HashMap
比每次搜索
数组的
ArrayList
要快得多。我会将
HashMap
的键作为按钮编号的串联,然后将值作为字母数字字符。因此,您的HashMap将是
,映射中的示例值将是
[“13”:“B”]
。当检查按钮组合是否有效时,您将检查hashmap.get(buttonComboString)!=空

使用
哈希映射
比每次搜索
数组的
数组列表
要快得多。我会将
HashMap
的键作为按钮编号的串联,然后将值作为字母数字字符。因此,您的HashMap将是
,映射中的示例值将是
[“13”:“B”]
。当检查按钮组合是否有效时,您将检查hashmap.get(buttonComboString)!=空

您应该通过清楚地突出显示您的问题来重新表述您的问题。读完这个问题后,我无法理解你的问题。@user2004685是的,我已经理解了。感谢您的发言。
HashMap
ArrayList
之间的选择基本上取决于您的应用程序需要和要执行的操作。例如,如果您关心对象的顺序,那么您应该查看
列表,而不是
映射
,但另一方面,如果您想执行搜索,那么最好使用
映射
,因为在这种情况下效率更高。@user2004685您看到我链接的引用了吗?这就是我正在开发的应用程序。我只想完成我的应用程序,我不关心编码效率,只关心操作速度。引用问题中的话,“我希望有人能告诉我在操作速度和编码效率方面什么好用”,你应该通过清楚地突出你的问题来重新表述你的问题。读完这个问题后,我无法理解你的问题。@user2004685是的,我已经理解了。感谢您的发言。
HashMap
ArrayList
之间的选择基本上取决于您的应用程序需要和要执行的操作。例如,如果您关心对象的顺序,那么您应该查看
列表,而不是
映射
,但另一方面,如果您想执行搜索,那么最好使用
映射
,因为在这种情况下效率更高。@user2004685您看到我链接的引用了吗?这就是我正在开发的应用程序。我只想完成我的应用程序,我不关心编码效率,只关心操作速度。引用你的问题中的话,“我希望有人能告诉我在操作速度和编码效率方面使用什么好”是的,谢谢你的例子,但是当我试着在android中组合按钮时,它会提示一个错误。比如,我输入“R.id.block1,R.id.block2”而不是“145”,基于引用->查看以了解即使我更改为,当涉及到组合时,它也不允许我。这意味着什么它不允许你?上面说什么?R.id.block1通常是整数类型,是的。所以你需要
Map
是的,我试过了,但是当我添加另一个“R.id.block 2”时,它是一个按钮组合,然后会提示一个错误<代码>映射放置(R.id.block1,R.id.block2,R.id.block4,“C”)你不能像这里显示的那样做。在映射中,只能放置键-->值对。就像
map.put(R.id.block1,“A”)而不是更多。或者定义一个像
Map
这样的映射,并尝试将这些块作为整数数组。这是否意味着我不能实现按钮的组合?这正是我在申请中想要的。。我尝试了“int[]”,但是我得到了这个错误
类型映射中的方法put(int[],String)不适用于参数(int,int,String)
-->仍然。。请参阅我的参考资料:这就是我正在实现的……是的,谢谢您提供的示例,但是当我尝试在android中组合按钮时,它会提示一个错误。比如,我输入“R.id.block1,R.id.block2”而不是“145”,基于引用->查看以了解即使我更改为,当涉及到组合时,它也不允许我。这意味着什么它不允许你?上面说什么?R.id.block1通常是整数类型,是的。所以你需要
Map
是的,我试过了,但是当我添加另一个“R.id.block 2”时,它是一个按钮组合,然后会提示一个错误<代码>映射放置(R.id.block1,R.id.block2,R.id.block4,“C”)你不能像这里显示的那样做。在映射中,只能放置键-->值对。就像
map.put(R.id.block1,“A”)而不是更多。或者定义一个像
Map
这样的映射,并尝试将这些块作为整数数组。这是否意味着我不能实现按钮的组合?这正是我在申请中想要的。。我尝试了“int[]”,但是我得到了这个错误
T
map = {[R.id.block1],'A',
[R.id.block1, R.id.block2],'B',
[R.id.block1, R.id.block2, R.id.block2],'C',
etc...
}  
Map<String, String> map = new HashMap<String, String>();
map.put("145", "PentHouse");
map.put("125", "BoardRoom");
map.put("145", "PentHouse");

String room = map.get("8");
// room will be null if "8" isn't a key in the map.
HashMap<String, List<Integer>> map = new HashMap<String, List<Integer>>();

HashMap<String, List<Integer>> map = new HashMap<String, List<Integer>>();
map.put("Something", new ArrayList<Integer>());
for (int i=0;i<lenghtOfList; i++) {
    map.get("Something").add(item[i]); 
}