Zmienianie dlugosci wierszy w dwuwymiarowej tablicy

0

czy da rade jakos w petli zmieniac dlugosc wierszy tablicy dwuwymiarowej? bo mozemy zrobic tak : int[][] tab = new int[4][4]; - czyli Od razu ustalamy dlugosc i szerokosc tablicy, mozna tak : int[][] tab = {{2,3,4},{3,4,6}}; - recznie ustalac wartosci , a czy mozna zrobic jakos tak : int[][] tab = new int[4][]; ze nie ustawimy dlugosci wierszy i jakos w petli dla kazdego wiersza ustawic inna dlugosc? pozdrawiam

3
        int[][] tab = new int[4][];
        for(int i=0;i<tab.length;i++)
        {
            tab[i] = new int[3 + i];
        }
2

Patrz "Ragged arrays - Uneven rows" w:
https://www.leepoint.net/data/arrays/arrays-2D-2.html

1

a czy mozna zrobic jakos tak : int[][] tab = new int[4][]; ze nie ustawimy dlugosci wierszy i jakos w petli dla kazdego wiersza ustawic inna dlugosc?

Generalnie można np. tak:

/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{
		int array[][] = new int[7][];
		for(int i=0; i<array.length; i++)
		{
			array[i] = new int[i + 1];
			for(int j=0; j<array[i].length; j++)
			{
				array[i][j] = j;
				System.out.print(array[i][j]);
			}
			System.out.println();
		}
	}
}

https://ideone.com/vlru2I

Jednakże wygodniej użyć do tego jakiegoś kontenera.

1 użytkowników online, w tym zalogowanych: 0, gości: 1