【问题标题】:how to read a int[] chunk by chunk如何逐块读取 int[] 块
【发布时间】:2012-04-01 11:46:59
【问题描述】:

假设传入一个int[],并且我有函数f(int[] array),如果我不知道数组的长度,如何逐块执行?或者有什么更好的方法吗?谢谢

【问题讨论】:

  • 你知道数组的长度,它是array.length - 也许你的意思是“有多少元素被初始化为不同的值而不是 0?”
  • 数组大小大于 Integer.Max_VALUE 有变化吗?
  • 数组大小不能大于Integer.MAX_VALUE

标签: java arrays chunked


【解决方案1】:

在 Java 中,您可以从数组中获取数组的长度,只需使用:

int theArrayLength = array.length;

【讨论】:

  • 数组大小大于 Integer.Max_VALUE 有变化吗?
  • @Jeffrey 不。因为您使用 int 索引数组,这有点无用;)
【解决方案2】:

“执行”和“逐块执行”是什么意思?您始终可以使用索引遍历数组。

for(int i = 0; i < array.length; i++) {
  bar(array[i]);
}

【讨论】:

    【解决方案3】:
    1. 检查数组是否为null,如果是则抛出异常(例如IllegalArgumentException
    2. 使用增强的 for 循环

    示例 -

    void f(int[] array){
        if(array == null){
            throw new IllegalArgumentException();
        }
    
        for(int arrayItem : array){
            // iterate through array chunk-by-chunk
        }
    }
    

    使用这种方法,您可以逐块遍历数组,而无需明确知道数组的长度。

    【讨论】:

      【解决方案4】:

      java 不也知道arraya.length 吗?

      【讨论】:

        【解决方案5】:

        你可以在Java中找到任何数组的长度

        array.length
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-22
          • 2021-08-20
          • 1970-01-01
          • 2022-01-25
          • 1970-01-01
          • 2019-04-29
          相关资源
          最近更新 更多