[英]Multi-dimensional arrays: Variable length row?
可以執行可變長度列,例如:
private int k[][] = new int[3][];
for(int i = 0; i < k.length; i++) {
k[i] = new int[i+1];
}
如果你知道列的長度,我想知道是否可以做可變長度的行?:
private int k[][] = new int[][5];
for(int i = 0; i < k.length; i++) {
// How would you do this?
}
謝謝。
基本上你不能。 “多維”數組只是一個數組數組。 因此,您必須知道“外部”數組的大小,以便創建它。
所以你的選擇是:
array[column][row]
而不是array[row][column]
請改用列表,以便隨時添加新行:
List<Object[]> rows = new ArrayList<Object[]>(); for (SomeData data : someSource) { Object[] row = new Object[5]; ... rows.add(row); }
(或者甚至更好,在單獨的類中封裝您的“行”概念,因此您有一個List<Row>
。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.