Как да инициализираме масив в Java



Array Ява

Как да инициализираме масив в Java

Масивите в java са най-широко използваната структура от данни, която съхранява множество стойности от един и същи тип данни в последователен ред. Масивът има фиксирана дължина и индексът започва от 0 до n-1, където n е дължината на масива. Можем да използваме клас масиви в Java, за да съхраняваме всякакъв тип стойности като String, цяло число, символ, байт и дори дефинирани от потребителя обекти. Ще научим как да инициализираме масив в Java?

По-долу е схематично представяне на едноизмерен масив от цели числа с 11 елемента.

Масиви в java

Съдържание

Функции на Java масиви

  • Масивът има фиксиран размер и не може да се променя
  • Тъй като масивът се основава на индекс, достъпът до произволни елементи е лесен
  • Разпределя непрекъсната памет за елементи от масив.
  • Може да съхранява и двете примитивни и непримитивни данни ценности

Как да декларирам масив в Java?

Декларация за Java масиви

Масивът може да бъде деклариран по следните начини. Декларацията за масив съдържа 2 части, първата е типът данни на елементите, които трябва да съхраним в масив (като int, String и т.н.) и последван от името на масива. [] скоби означават, че това е масив. Когато декларираме масив, той просто казва на компилатора, че променливата е масив и всъщност не създава масив.

тип данни [] arrayName; (или)

тип данни [] arrayName; (или)

тип на данните arrayName []; -> Обикновено не предпочитаме да използваме този метод, въпреки че е валиден.

Пример за декларация на масив

int[] arrNumbers;
String[] arrNames;
float[] arrValues;
boolean[] arrBoolean;
char[] arrLetters;
byte[] arrBytes;
double[] arrWeight;

Как да създам масив в Java?

String Array в Java

Създаваме масив с помощта на нов оператор. В това посочваме размера на масив в [], който обозначава количеството памет, необходимо за съхранение на променливата на масива.

arrname = нов тип данни [размер];

Също така можем да декларираме и създадем масив в едно изявление, както е показано по-долу. Първият оператор създава масив с цяло число, наречен числа с размер 5. Вторият създава масив String с имена с размер 2

int[] arrNumbers = new int[5];
String[] arrNames = new String[2];

Как да инициализирам масив в Java?

Как да създадете екземпляр на масив?

Инициализация или инстанциране на масив означава присвояване на стойности на масив въз основа на размера на масива. Също така можем да създадем и инициализираме (инстанцираме) масив заедно (вижте Метод 1 по-долу). В този случай броят на елементите означава дължината или размера на масив. В метод 2 ние присвояваме стойности поотделно t0 на всеки елемент. Тъй като индексът на масива започва с 0 и размерът на масива тук е 3, 3-ият елемент заема 2-ра позиция, която е n-1, където n е размерът на масива.

//Method 1
int[] arrNumbers = {1,2,3};

//Method 2
int[] arrNumbers = new int[3];
arrNumbers[0] = 1;
arrNumbers[1] = 2;
arrNumbers[2] = 3;

Достъп до елементи на масив в Java

Достъп до елементи на масив използваме стойността на индекса. Като цяло използваме За цикъл или За всеки цикъл за достъп до елементите на масива, тъй като всички елементи са от един и същи тип и имат фиксиран размер.

Пример: Създаване, инициализиране и достъп до елементи на масив

Тук създаваме и инициализираме масив от низове в един оператор и осъществяваме достъп до всеки елемент с помощта на цикъл for

public class ArrayDemo1 {

  public static void main(String[] args) {
    String[] arrMonths = {"May","June","July"};
    System.out.println("Length of array is: " + arrMonths.length);
    for(int i=0;i<arrMonths.length;i++)
    {
      System.out.println(arrMonths[i]); 
    }

  }

}
Output:
Length of array is: 3
May
June
July

Пример: Друг метод за инициализиране на масив и достъп до елементи на масив

В примера по-долу първо декларираме и създаваме масив от цели числа и след това присвояваме стойности на отделни елементи на масива. Тук използваме за всеки цикъл за достъп до елементите на масива.

public class ArrayDemo2 {

  public static void main(String[] args) {
    int[] numbers = new int[5];
    numbers[0] = 100;
    numbers[1] = 101;
    numbers[2] = 103;
    numbers[3] = 104;
    numbers[4] = 105;
    
    for(int i: numbers)
    {
      System.out.println(i);
    }

  }

}
Output:
100
101
103
104
105

видове масиви в Java

В Java има 2 вида масиви:

  • Едномерен масив - Съдържа само 1 ред и 1 колона. Всички горепосочени примери принадлежат към едномерен масив
  • Многомерен масив - Той съдържа множество редове и множество колони. С други думи, това е масив от масиви, където всички редове имат еднакъв брой колони. Например: матрица 2 * 2
  • Назъбен масив - Всеки ред съдържа различен брой колони

Многомерни масиви В java

Многомерните масиви могат да имат множество редове и колони. Индексът в първия [] представлява редове, а вторият [] представлява колони.

Например: int [] [] a = нов int [2] [3]

Това означава, че масивът съдържа 2 реда и 3 колони. По-долу е схематично представяне на многоизмерен масив

Масиви в java

Пример за създаване на многомерни масиви от низове

Примерът по-долу показва как да създавате, декларирате и осъществявате достъп до многомерни елементи на масив. Тук директно осъществяваме достъп до елементи на масив, като използваме индекса на редове и колони.

public class ArrayMulti {

  public static void main(String[] args) {
    String[][] arrNames = {{"John","Jacob"},{"Thomas","Martin"}};
    System.out.println(arrNames[0][0] + " " + arrNames[0][1]);
    System.out.println(arrNames[1][0] + " " + arrNames[1][1]);

  }

}
Output:
John Jacob 
Thomas Martin

Пример за 2D масив от цели числа

Тук създаваме двуизмерен масив от цели числа с 2 реда и 2 колони. Присвояваме стойностите на тези елементи от масива вътре в цикъл for. Първият цикъл for обозначава редове, а вторият цикъл for обозначава колони.

public class ArrayMulti {

  public static void main(String[] args) {
    //Declare and create multidimensional array
    int[][] arrnum = new int[2][3];
    for(int i=0;i<2;i++) {
      for(int j=0;j<3;j++) {
        //Assign values to array elements
        arrnum[i][j] = i+1;
        System.out.print(arrnum[i][j] + " ");
      }
      System.out.println();
    }

  }

}
Output:
1 1 1 
2 2 2 

Назъбени масиви в Java

Назъбеният масив също е двуизмерен масив с различен брой колони. С други думи, всеки ред има различен брой колони. Инициализирането на назъбен масив е различно от това на нормалния 2D масив.

Инициализация на назъбения масив

По време на създаването на масив ние посочваме броя на редовете. В този пример е 2. В следващите 2 израза, за всеки ред редица, ние посочваме броя на колоните. Тук 1-ви ред има 3 колони, а 2-ри ред има 4 колони.

int[][] arrnum = new int[2][];
arrnum[0] = new int[3];
arrnum[1] = new int[4];

Пример за назъбен масив чрез присвояване на стойности в цикъл for

public class JaggedArray {

  public static void main(String[] args) {
    int[][] arrnum = new int[2][];
    arrnum[0] = new int[3];
    arrnum[1] = new int[4];

    int val=1;
    //Assign values
    for(int i=0;i<arrnum.length;i++) {
      for(int j=0;j<arrnum[i].length;j++) {
        arrnum[i][j] = val;
      }
    }
    
    //Print the values
    for(int i=0;i<arrnum.length;i++)
    {
      for(int j=0;j<arrnum[i].length;j++)
      {
        System.out.print(arrnum[i][j] + " ");
      }
      System.out.println();
    }
  }

}
Output:
1 1 1 
1 1 1 1 

Пример с назъбен масив чрез инициализиране на стойностите по време на създаването на масив

public class JaggedArray {

  public static void main(String[] args) {
    int[][] arr = {{4,5,6},{1,2},{7,9,8}};
    for(int i=0;i<3;i++)
    {
      for(int j=0;j<arr[i].length;j++) {
        System.out.print(arr[i][j] + " ");
      }
      System.out.println();
    }
  }
}
Output:
4 5 6 
1 2 
7 9 8 

Методи на Java Array

По-долу са посочени директните методи, поддържани от Arrays в Java

Начин на доставкаОписание
празен клонинг ()Клонира съществуващите стойности на масива, когато препратките не се копират
Булево равно (Обект 0)Проверява дали някой друг обект е равен на текущия обект
Клас getClass ()Връща името на класа
String toString ()Връща низово представяне на обекта
int дължина ()Връща дължината на масива

Изключения на Java Array

Масиви в Java хвърля по-долу изключение:

  • ArrayIndexOutOfBoundsException: Това се случва, когато посочената от нас стойност на индекса е по-голяма от дължината на масив или когато е отрицателна. Това се случва главно при присвояване на стойност или достъп до елементи на масив.

Копирайте масив

Можем да копираме елементи от един масив в друг, като използваме метода arraycopy на класа System.

Копиране на синтаксиса на масива

публична void arraycopy (Object src, int srcPos, Object dest, int destPos, int length);

src-source масивен обект за копиране

srcPos - начална позиция в масива източник

dest - обект на целевия масив, в който да се копира

destPos - начална позиция в целевия масив

дължина - брой елементи на масива за копиране

Пример за копиране на масив

В примера по-долу копираме 4 елемента от масива източник в целевия масив. Следователно изходът отпечатва “java” ”

public class ArrayCopy {

  public static void main(String[] args) {
    char[] a = {'d','l','h','y','j','a','v','a','g','r','t'};
    char[] b = new char[4];
    
    System.arraycopy(a, 4, b, 0, 4);
    System.out.println(String.valueOf(b));

  }

}
Output:
java

Предаване на масив на метод

В Java можем да предадем масивен обект на метод за по-нататъшна манипулация или други операции. Примерът по-долу показва как можем да предадем масивен обект от цели числа на метод и да извършим добавянето на всички елементи на масива.

public class ArrayDemo3 {

  public static void main(String[] args) {
    int[] num = {5,7,3,2,8};
    add(num);

  }
  
  public static void add(int[] num) {
    int sum = 0;
    for(int i=0;i<num.length;i++) {
      sum = sum + num[i];
    }
    System.out.println("Sum of array elements is : " + sum);
  }

}
Output:
Sum of array elements is : 25

Връщане на масив от метод

Ние също можем връща масив обект от метод към основния метод след извършване на необходимата операция.

public class ArrayDemo4 {

  public static void main(String[] args) {
    String[] arr = getArrayValues();
    for(String cities:arr) {
      System.out.println(cities);
    }
      

  }
  
  public static String[] getArrayValues() {
    String[] arrCities = {"Chennai","Bangalore","Delhi"};
    return arrCities;
  }

}
Output:
Chennai
Bangalore
Delhi

Манипулации с масиви

Масиви в Java принадлежи към пакета java.util. Има няколко операции, поддържани от клас java.util.Array, както е споменато по-долу:

  • Можем да използваме метода copyOfRange от клас Array, за да копираме набор от елементи от един масив в друг
  • Търсене в масив за конкретна стойност въз основа на индекс (двоично търсене)
  • Сравнете с масивите, за да проверите равенството, използвайки метода equals
  • Използвайте метода за запълване, за да попълните масив, за да поставите определена стойност в индекс
  • Сортиране на масив с помощта на метода на сортиране

Създаване на масив с помощта на дефиниран от потребителя обект

В java също можем да създадем дефиниран от потребителя обект, точно както създаваме масив от низове, цели числа и т.н. Това е пример за това как можем да създадем обект на масив Student и да инициализираме обекта на масива.

public class ArrayDemo5 {

  public static void main(String[] args) {
    Student[] s = new Student[2];
    s[0] = new Student(111,"Ajit");
    s[1] = new Student(112,"Biju");
  }

}
 class Student{
  public int rollno;
  public String name;
  public Student(int rno,String n) {
    rollno = rno;
    name = n;
  }
}

заключение

Този урок предоставя подробно описание на Arrays Class в Java, типове масиви в Java, декларира, създава и инициализира масиви с различни илюстрации.

препратка