1. 程式人生 > >Java 多維陣列遍歷

Java 多維陣列遍歷

多維陣列

陣列是Java中的一種容器物件,它擁有多個單一型別的值。當陣列被建立的時候陣列長度就已經確定了。在建立之後,其長度是固定的。下面是一個長度為10的陣列:

1 2 3 4 public class ArrayDemo { private int arraySize=10; public int[] arrayOfIntegers = new int[arraySize]; }

上面的程式碼是一維陣列的例子。換句話說,陣列長度只能在一個方向上增長。很多時候我們需要陣列在多個維度上增長。這種陣列我們稱之為多維陣列。為簡單起見,我們將它稱為2維陣列。當我們需要一個矩陣或者X-Y座標系的時候,二維陣列是非常有用的

。下面就是一個二維陣列的例子:

1 2 3 4 5 6 public class TheProblemOf2DArray { private static final int ARR_SIZE=10; public static void main(String[] args) { int arr[][]=new int[ARR_SIZE][ARR_SIZE]; } }

想象一下,一個二維陣列看起來就像一個X-Y座標系的矩陣

然而,可能讓Java開發者們感到驚訝的是,Java實際上並沒有二維陣列。

在一個真正的陣列中,所有的元素在記憶體中都存放在連續的記憶體塊中,但是在Java的二維陣列並不是這樣。Java中所有一維陣列中的元素佔據了相鄰的記憶體位置,因此是一個真正的陣列。

在Java中,當我們定義:

1 2 3 int singleElement // 表示一個int變數 int[] singleDArray // 表示一個int變數陣列(一維) int[][] twoDArray // 表示一個int變數陣列的陣列(二維)

這意味著,在上面的例子中,二維陣列是一個數組的引用,其每一個元素都是另一個int陣列的引用。

這張圖片清楚解釋了這個概念。

由於二維陣列分散在儲存器中,所以對效能有一些影響。為了分析這種差異,我寫了一個簡單的Java程式,顯示遍歷順序的重要性

1 2 3 4 5 6 7 8 9

相關推薦

Java 陣列

多維陣列 陣列是Java中的一種容器物件,它擁有多個單一型別的值。當陣列被建立的時候陣列長度就已經確定了。在建立之後,其長度是固定的。下面是一個長度為10的陣列: 1 2 3 4 public

對於陣列 尤其是二陣列(foreach)的總結.

1.首先應該清楚遍歷的格式以及通過反編譯看到的原始碼(主要分析foreach語句的一些特點) int arr[][]={{4,3}{1,2}}; 格式:for(int i:arr)=原始碼:for(int len=arr.length,i=0;i<len;++i)     &n

TP5:二陣列用save()方法 ,報主鍵ID重複解決方法

$mUser = model('User'); foreach ($arrData as $k => $v) { $arrData[$k]['addtime'] = time(); $res = $mUser->isUpdate(false)->data($arr

陣列

package javacore; /** * @author lixw * @date created in 12:16 2018/12/17 */ public class TwoDimensionalArrayTest { public static void main

php2陣列

//第一種 /* $arr=array('name'=>'list','age'=>23,'area'=>'beijing','hobby'=>array('basketball','football','pingpang')); foreach($

陣列求和操作:用二重迴圈求出二陣列b所有元素的和。

//二維陣列遍歷求和操作:用二重迴圈求出二維陣列b所有元素的和 int sum=0;int[][] b={{11},{21,22},{31,32,33}};for(int i=0;i<b.len

[解決方案]java陣列按照某幾列進行排序

情景: 有一個二維陣列,我想按照第一,第二,第三列進行降序排列。 注意: 1、如果第一列數值相同,那麼就按照第二列降序排列。 2、同理,如果第二列數值相同,那麼就按照第三列降序排列。 程式碼

c三陣列

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string.h> #define NUM 111 typedef int BOO

JavaScript_02面向物件程式設計(原型【四】)自己實現each方法可陣列

<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>New Web Project</title>

陣列

$arr_age = array("wang"=>18, "li"=>20, "zhang"=>array("name"=>"小張", "age"=>25)); foreach ($arr_age as $age) {   if(is_arr

JAVA陣列陣列的定義和

一維陣列、二位陣列的幾種定義方法: public class Array { public static void main(String[] args) { // 定義一維陣列 int[] a = new int[4]; // 定義一維陣列

js遞迴陣列並在修改陣列的key後返回新的陣列

我司最近正在用VUE做一個基於使用者許可權顯示不同左側選單的後臺管理系統,介面會根據使用者的許可權不同返回不同的選單名稱、URL等,前端要將這些選單名稱及URL動態新增到系統的左側,這裡就用到了vue-router2.2新添的router.addRouter(routes)方法。但是介面返給我的只是普通的由鍵

java陣列的訪問

/* 最簡單的二維陣列定義方式 int[][] arr = {{},{},{},{},{},{},} 二維陣列的遍歷 二維陣列中,儲存4個一維陣列,每個一維陣列的長度不同 遍歷:for迴圈,遍歷二維陣列

Java陣列方法(兩種)

class printArray { public static void main(String[] args) { int[][] arr = {{1,2,3},{4,5},

遞迴PHP陣列

<?php /* * ------------------------------------------------- * Author : nowamagic * Url : www.nowamagic.net * Date : 2011-

微信小程式陣列

微信小程式遍多維陣列的方法,介面返回資料如下 遍歷資料如下 <block wx:for="{{storelist}}" wx:key="{{index}}">

java陣列

public class a_1 { public static void main(String[] args) { int

Java第七章——陣列

一、二維陣列的基礎知識 二維陣列中的元素通過行和列的下標來訪問。 1.宣告二維陣列變數並建立二維陣列 資料型別【】【】 陣列名; 資料型別 陣列名【】【】;//允許這種方式,但不推薦使用 2.獲取二維陣列的長度 二維陣列實際上是一個一維陣列,它的每個元素都是一個一維陣列。陣列x的長度是陣列中

JAVA——陣列,排序,求最值

Java陣列中的常見操作 1,陣列遍歷 2,陣列求最值 3,陣列排序 (一)陣列遍歷 public class Array{ public static void main(String[] args){ //定義陣列 int[] arr = new int[]

Java基礎14-陣列

1.二位陣列可以看成以陣列為元素的陣列 2.java中多維陣列的宣告和初始化一樣,應該從高維到低維的順序進行,例如  1 int[][] a=new int[3][]; 2 a[0]=new int[2]; 3 a[1]=new int[4]; 4 a[2]=new int[3]; 5 int t[