Ce face Arrays.fill
Un array nou are valori implicite: 0 pentru numere, false pentru boolean, null pentru obiecte. Arrays.fill(a, x) pune x pe toate pozițiile; fill(a, de, pana, x) doar pe porțiunea [de, pana).
Pentru array-uri de obiecte, toate pozițiile vor arăta spre același obiect. La o matrice, fill lucrează doar pe un rând; pentru toată matricea, apelezi fill pentru fiecare rând.
Parametri
| Parametru | Descriere |
|---|---|
a |
Array-ul de umplut. |
fromIndex, toIndex |
Porțiunea: fromIndex inclus, toIndex exclus. |
val |
Valoarea pusă. |
Ce returnează
Nimic (void).
Exemple
Exemplul 1: Locuri libere și ocupate
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
char[] locuri = new char[10];
Arrays.fill(locuri, '_');
Arrays.fill(locuri, 2, 5, 'X'); // pozițiile 2, 3, 4 ocupate
System.out.println(new String(locuri));
int[] distante = new int[5];
Arrays.fill(distante, Integer.MAX_VALUE);
distante[0] = 0;
System.out.println(Arrays.toString(distante));
}
}
Rezultat
__XXX_____
[0, 2147483647, 2147483647, 2147483647, 2147483647]
Exemplul 2: Umplerea unei matrice, rând cu rând
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String[][] tabla = new String[3][3];
for (String[] rand : tabla) {
Arrays.fill(rand, ".");
}
tabla[1][1] = "X";
for (String[] rand : tabla) {
System.out.println(String.join(" ", rand));
}
}
}
Rezultat
. . .
. X .
. . .
Greșeli frecvente
- Faci
Arrays.fill(matrice, new int[3])și crezi că ai rânduri diferite. Toate rândurile sunt același array; o modificare apare pe toate. - Uiți că
toIndexeste exclus.
Comenzi înrudite
Collections.nCopies: Returnează o listă nemodificabilă cu aceeași valoare repetată de n ori. Utilă pentru valori inițiale și separatoare.Arrays.copyOf: copyOf face un array nou cu primele n elemente (completând cu 0/null dacă e mai lung); copyOfRange copiază o porțiune.Arrays.toString: toString transformă un array în text de forma [1, 2, 3]; deepToString face același lucru pentru matrice (array-uri de array-uri).Arrays: Clasă cu metode statice pentru array-uri: afișare, sortare, căutare, copiere, umplere, comparare și transformare în listă sau stream.