gpt4 book ai didi

java - Java 中二维 ArrayList 的大小

转载 作者:行者123 更新时间:2023-11-30 07:59:11 24 4
gpt4 key购买 nike

我一直发现这是有问题的,在大多数情况下本质上是一个保证的空指针。

假设我们有一个二维 ArrayList,如下所示:

ArrayList<ArrayList<Integer>> outer; 

现在,我想获取内部数组的维度(我们假设它们的大小都应该相同)。

我经常发现我这样做:

int width = outer.size();
int length = outer.get(0).size();

但这本质上是不安全的,而且非常可怕。什么是更好的方法来做到这一点?

一个更好的想法是遍历外部数组中的所有数组元素,找到每个内部数组的大小,确保大小都是相同的值,然后返回该值,但这有点密集。

像这样:

  private int getSizeOfInner(){

int size = null;

for(ArrayList<Integer> a: outer){
if(size == null){
size = a.size();
}
else{
if(a.size() != size){
throw new Exception("Inconsistent inner array sizes");
}

}
}
return size;
}

对于这类问题,这似乎太过分了......

最佳答案

int length = outer.get(0).size();

but this is inherently unsafe and just horrible. What is a better way to do this?

不知道你所说的可怕是什么意思。但是,这就是我要做的:

int length = outer.get(0) == null ? 0 : outer.get(0).size();

关于java - Java 中二维 ArrayList 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39581843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com