我想在Java中使用关于随机索引的索引

pam*_*ers 3 java indexing arraylist

我用的是Java.当我在Java中使用ArrayList时.如果我随机访问索引号.

这是真的吗?

如果这不可能.我应该怎么做?

例如

ArrayList<String> al = new ArrayList<String>();
al.add(100,"stackoverflow");
Run Code Online (Sandbox Code Playgroud)

这是真的吗?

Den*_*ret 6

你似乎需要的不是arrayList,而是整数和字符串之间的映射:

HashMap<Integer,String> mymap = new HashMap<Integer,String>();
Run Code Online (Sandbox Code Playgroud)

所以你可以写

mymap.put(100,"stackoverflow");
Run Code Online (Sandbox Code Playgroud)

String myString = mymap.get(100);
Run Code Online (Sandbox Code Playgroud)

添加为什么你不能使用arraylist:

首次初始化ArrayList时,大小为零.尝试在大于该大小的索引处添加仍将抛出IndexOutOfBounds异常,就像数组一样.ArrayList的好处是,如果填充大小,它将动态分配更多内存.

此外,即使您努力管理大小以避免错误,数组也不能用于"稀疏数组".