Java中JavaScript风格的数组填充

Java中JavaScript风格的数组填充,java,javascript,arrays,arraylist,Java,Javascript,Arrays,Arraylist,在JavaScript中,以下内容: var a = []; a[20] = "hello"; console.log(JSON.stringify(a)); 将产生: [null,null,null,null,null,null,null,null,null,null, null,null,null,null,null,null,null,null,null,null,"hello"] Java中是否有一种列表类型,当设置超出其当前边界的值时会自动展开?地图不实用,因为我还需要知道数组维度

在JavaScript中,以下内容:

var a = [];
a[20] = "hello";
console.log(JSON.stringify(a));
将产生:

[null,null,null,null,null,null,null,null,null,null,
null,null,null,null,null,null,null,null,null,null,"hello"]

Java中是否有一种列表类型,当设置超出其当前边界的值时会自动展开?地图不实用,因为我还需要知道数组维度。

你可以使用。看看这个。

你可以使用。看看这个。

你可以使用。看看这个。

你可以使用。看看这个。

在标准JDK中没有这样的类

最好的办法可能是在ArrayList周围创建一个包装器 并提供set(int索引、对象值)等方法

它的实现如下所示:

public void set(int index,Object value) {
   while (list.size() <= index) {
       list.add(null); // filling the gaps
   }   
   list.set(index,value); 
}
公共无效集(int索引,对象值){

而(list.size()在标准JDK中没有这样的类

最好的办法可能是在ArrayList周围创建一个包装器 并提供set(int索引、对象值)等方法

它的实现如下所示:

public void set(int index,Object value) {
   while (list.size() <= index) {
       list.add(null); // filling the gaps
   }   
   list.set(index,value); 
}
公共无效集(int索引,对象值){

而(list.size()在标准JDK中没有这样的类

最好的办法可能是在ArrayList周围创建一个包装器 并提供set(int索引、对象值)等方法

它的实现如下所示:

public void set(int index,Object value) {
   while (list.size() <= index) {
       list.add(null); // filling the gaps
   }   
   list.set(index,value); 
}
公共无效集(int索引,对象值){

而(list.size()在标准JDK中没有这样的类

最好的办法可能是在ArrayList周围创建一个包装器 并提供set(int索引、对象值)等方法

它的实现如下所示:

public void set(int index,Object value) {
   while (list.size() <= index) {
       list.add(null); // filling the gaps
   }   
   list.set(index,value); 
}
公共无效集(int索引,对象值){

虽然(list.size()标准JDK中没有提供这种实现,但您可以使用(from)

List List=newgrowthlist();//[]
添加(5,“测试”);/[null,null,null,null,null,test]

标准JDK中未提供此类实现,但您可以使用(从)

List List=newgrowthlist();//[]
添加(5,“测试”);/[null,null,null,null,null,test]

标准JDK中未提供此类实现,但您可以使用(从)

List List=newgrowthlist();//[]
添加(5,“测试”);/[null,null,null,null,null,test]

标准JDK中未提供此类实现,但您可以使用(从)

List List=newgrowthlist();//[]
添加(5,“测试”);/[null,null,null,null,null,test]


试试java.utils中的ArrayList类package@SarthakMittal-ArrayList不自动填充。您不能设置超过末尾的元素。@jalynn2是的,您是对的,但是“您不能设置超过末尾的元素”是什么意思?@SarthakMittal如果列表中有
x
元素,则如果
y>x
,则不能在位置
y
上添加其他元素。换句话说,如果列表中有5个元素,
list.add(10,“blub”);
将失败。如果ArrayList为空,则只能设置为元素0。如果它有一个项,则只能设置为元素0和1,以此类推。如果尝试设置为更大的索引,则将获得IndexOutOfBoundsException.try ArrayList类,出现在java.utils中package@SarthakMittal-ArrayList不自动填充。不能将元素设置为超过结尾。@jalynn2是的,你是对的,但是“你不能设置一个元素超过结尾”是什么意思?@SarthakMittal如果列表中有
x
元素,那么你就不能在
y
位置添加另一个元素,如果
y>x
。换句话说,如果列表中有5个元素,
list.add(10,“blub”);
将失败。如果ArrayList为空,则只能设置为元素0。如果它有一个项,则只能设置为元素0和1,以此类推。如果尝试设置为更大的索引,则将获得IndexOutOfBoundsException.try ArrayList类,出现在java.utils中package@SarthakMittal-ArrayList不自动填充。不能将元素设置为超过结尾。@jalynn2是的,你是对的,但是“你不能设置一个元素超过结尾”是什么意思?@SarthakMittal如果列表中有
x
元素,那么你就不能在
y
位置添加另一个元素,如果
y>x
。换句话说,如果列表中有5个元素,
list.add(10,“blub”);
将失败。如果ArrayList为空,则只能设置为元素0。如果它有一个项,则只能设置为元素0和1,以此类推。如果尝试设置为更大的索引,则将获得IndexOutOfBoundsException.try ArrayList类,出现在java.utils中package@SarthakMittal-ArrayList不自动填充。不能将元素设置为超过结尾。@jalynn2是的,你是对的,但是“你不能设置一个元素超过结尾”是什么意思?@SarthakMittal如果列表中有
x
元素,那么你就不能在
y
位置添加另一个元素,如果
y>x
。换句话说,如果列表中有5个元素,
list.add(10,“blub”);
将失败。如果ArrayList为空,则只能设置为元素0。如果它有一项,则只能设置为元素0和1,以此类推。如果尝试设置为更大的索引,则会在普通静态数组上获得IndexOutOfBoundsException.Arrays.fill函数,如果索引超出范围,则会引发异常。Arrays.fill函数在普通静态数组上,如果索引超出范围,则引发异常。它在普通静态数组上展开nothing.arrays.fill函数,如果索引超出范围,则引发异常。它在普通静态数组上展开nothing.arrays.fill函数,如果索引超出范围,则引发异常。它没有展开任何东西。这正是我要找的。这正是我要找的。这正是我要找的。这正是我要找的。