簡體   English   中英

如何在Java中聲明泛型類型多維數組

[英]How to declare a generic type Multi-Dimensional array in java

我想在行中存儲一個100個int元素的數組,即1行100個int數據類型。每個元素都包含一個100個對象的數組。如何在java或android中做到這一點。

使用一個集合,即“列表列表”:

List<List<YourType>> matrix2D = new ArrayList<List<YourType>>();

這種結構可以輕松地存儲具有200行和100列的表,其中每個元素都是YourType類型。

否則-如果您的大小是固定的,並且只想存儲YourType值,則不需要泛型:

int rows = 200;
int columns = 200;
YourType[][] matrix2D = new YourType[rows][columns];

這是初始化和填充二維Object數組的方法:

    Object value = 42;
    int rows = 100;
    int columns = 100;
    Object[][] myData = new Object[rows][columns];
    for (int r = 0; r < rows; r++) {
        for (int c = 0; c < columns; c++) {
            myData[r][c] = value;
        }
    }

注意,原始int值42存儲在Object [] []中時會自動裝箱。 如果您不希望這樣做,可以使用int [] []代替。

如果您的類型是int,則它比使用Integer類型緊湊得多。 (小6倍)要創建固定大小的數組,您可以

int[][] matrix = new int[200][100];
// set all values to 42.
for(int[] row : matrix) Arrays.fill(row, 42);

我想你需要這個。

200x100矩陣中的100個T(您的對象)對象(數組)

T[][][] t = new T[200][100][100] ; 

t[0][0][1] = new T();
t[0][0][2] = new T();
...
t[0][0][99] = new T();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM