了解 Java 哈希图并设置对象的值



我正在将一个旧的Visual Basic应用程序迁移到Android,随着我的进步,我遇到了一些我无法解决的问题。(我是Java的新手(

在VB中有一个叫做字典的东西,在谷歌搜索Java中的等效物后,我得出的结论是使用的东西是HashMap。

我需要创建一个字符串作为键,int[] 作为对象的哈希映射:

HashMap<String, int[]> hm

目前为止,一切都好。我了解到在创建我的int[]后,我通过以下方式设置了哈希映射...

int[] intArray = new int[23];
hm.put("myRandomString", intarray);

现在问题是,如何更改 intArray 中位置 x 的值?

我知道我会使用密钥来查找 intArray,但我尝试的任何内容都会给我一个错误。

简单:

String someKey = "myRandomString";
int[] arrayFromMap = hm.get(someKey);
if (arrayFromMap != null) {
arrayFromMap[x] = y;

除此之外,您可以/应该使用以下方法:

if (hm.contains(someKey))

if (arrayFromMap.length > x)

检查这里可能出现的所有可能的事情。还要注意细节,例如:

int[] oneArray = { 1, 2 , 3};
hm.put("a", oneArray);
hm.put("b", oneArray);

它使用两个不同的键添加相同的数组。当您知道 doget("a")并操作相应的数组时,"b"的值也会发生变化!

您首先必须get()数组:

int[] arrToBeModified = hm.get("myRandomString");
arrToBeModified[0] = 123; // Do your modifications here.

最新更新