X Tutup
## Examples ### /com/in28minutes/java/arrays/ArrayExamples.java ``` package com.in28minutes.java.arrays; import java.util.Arrays; public class ArrayExamples { public static void main(String[] args) { // Declare an Array. All below ways are legal. int marks[]; // Not Readable int[] runs; // Not Readable int[] temperatures;// Recommended // Declaration of an Array should not include size. // int values[5];//Compilation Error! // Declaring 2D ArrayExamples int[][] matrix1; // Recommended int[] matrix2[]; // Legal but not readable. Avoid. // Creating an array marks = new int[5]; // 5 is size of array // Size of an array is mandatory to create an array // marks = new int[];//COMPILER ERROR // Once An Array is created, its size cannot be changed. // Declaring and creating an array in same line int marks2[] = new int[5]; // new Arrays are alway initialized with default values System.out.println(marks2[0]);// 0 // Default Values // byte,short,int,long-0 // float,double-0.0 // boolean false // object-null // Assigning values to array marks[0] = 25; marks[1] = 30; marks[2] = 50; marks[3] = 10; marks[4] = 5; // ArrayOnHeap.xls // Note : Index of an array runs from 0 to length - 1 // Declare, Create and Initialize Array on same line int marks3[] = { 25, 30, 50, 10, 5 }; // Leaving additional comma is not a problem int marks4[] = { 25, 30, 50, 10, 5, }; // Default Values in Array // numbers - 0 floating point - 0.0 Objects - null // Length of an array : Property length int length = marks.length; // Printing a value from array System.out.println(marks[2]); // Looping around an array - Enhanced for loop for (int mark : marks) { System.out.println(mark); } // Fill array with same default value Arrays.fill(marks, 100); // All array values will be 100 // Access 10th element when array has only length 5 // Runtime Exception : ArrayIndexOutOfBoundsException // System.out.println(marks[10]); // String Array: similar to int array. String[] daysOfWeek = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; // Array can contain only values of same type. // COMPILE ERROR!! // int marks4[] = {10,15.0}; //10 is int 15.0 is float // Cross assigment of primitive arrays is ILLEGAL int[] ints = new int[5]; short[] shorts = new short[5]; // ints = shorts;//COMPILER ERROR // ints = (int[])shorts;//COMPILER ERROR // 2D Arrays int[][] matrix = { { 1, 2, 3 }, { 4, 5, 6 } }; int[][] matrixA = new int[5][6]; // First dimension is necessary to create a 2D Array // Best way to visualize a 2D array is as an array of arrays // ArrayOnHeap.xls matrixA = new int[3][];// FINE // matrixA = new int[][5];//COMPILER ERROR // matrixA = new int[][];//COMPILER ERROR // We can create a ragged 2D Array matrixA[0] = new int[3]; matrixA[0] = new int[4]; matrixA[0] = new int[5]; // Above matrix has 2 rows 3 columns. // Accessing an element from 2D array: System.out.println(matrix[0][0]); // 1 System.out.println(matrix[1][2]); // 6 // Looping a 2D array: for (int[] array : matrix) { for (int number : array) { System.out.println(number); } } // Printing a 1D Array int marks5[] = { 25, 30, 50, 10, 5 }; System.out.println(marks5); // [I@6db3f829 System.out.println(Arrays.toString(marks5));// [25, 30, 50, 10, 5] // Printing a 2D Array int[][] matrix3 = { { 1, 2, 3 }, { 4, 5, 6 } }; System.out.println(matrix3); // [[I@1d5a0305 System.out.println(Arrays.toString(matrix3)); // [[I@6db3f829, [I@42698403] System.out.println(Arrays.deepToString(matrix3)); // [[1, 2, 3], [4, 5, 6]] // matrix3[0] is a 1D Array System.out.println(matrix3[0]);// [I@86c347 System.out.println(Arrays.toString(matrix3[0]));// [1, 2, 3] // Comparing Arrays int[] numbers1 = { 1, 2, 3 }; int[] numbers2 = { 4, 5, 6 }; System.out.println(Arrays.equals(numbers1, numbers2)); // false int[] numbers3 = { 1, 2, 3 }; System.out.println(Arrays.equals(numbers1, numbers3)); // true // Sorting An Array int rollNos[] = { 12, 5, 7, 9 }; Arrays.sort(rollNos); System.out.println(Arrays.toString(rollNos));// [5, 7, 9, 12] // Array of Objects(ArrayOnHeap.xls) Person[] persons = new Person[3]; // Creating an array of Persons creates // 4 Reference Variables to Person // It does not create the Person Objects // ArrayOnHeap.xls System.out.println(persons[0]);// null // to assign objects we would need to create them persons[0] = new Person(); persons[1] = new Person(); persons[2] = new Person(); // Other way // How may objects are created? Person[] personsAgain = { new Person(), new Person(), new Person() }; // How may objects are created? Person[][] persons2D = { { new Person(), new Person(), new Person() }, { new Person(), new Person() } }; } } class Person { long ssn; String name; } ```
X Tutup