Чӣ тавр массивро дар Java оғоз кардан мумкин аст  



тартиботи ҳарбӣ Java

Чӣ тавр массивро дар Java оғоз кардан мумкин аст

Массивҳо дар java сохтори маъмултарин истифода мешаванд, ки арзиши сершумори як намуди маълумотро бо тартиби пайдарпай нигоҳ медоранд. Массив дарозии собит дорад ва индекс аз 0 то n-1 сар мешавад, ки n дарозии массив аст. Мо метавонем синфи массивҳоро дар Java барои нигоҳ доштани ҳар як намуди арзиш, ба монанди сатр, бутун, аломат, байт ва ҳатто объектҳои муайянкардаи корбар истифода барем. Мо мефаҳмем, ки чӣ тавр массивро дар Java оғоз кардан мумкин аст?

Дар зер тасвири диаграммаи массиви якандозаи бутунҳо, ки 11 элемент доранд, оварда шудааст.

Массивҳо дар Java

Мундариҷа

Хусусиятҳои Java Arrays  

  • Массив андозаи собит дорад ва тағир додан мумкин нест
  • Азбаски массив ба индекс асос ёфтааст, дастрасӣ ба унсурҳои тасодуфӣ осон аст
  • Хотираи доимиро барои унсурҳои массив ҷудо мекунад.
  • Метавонад ҳардуяшро нигоҳ дорад маълумоти ибтидоӣ ва ғайри ибтидоӣ арзишњои
ҳамчунин нигаред
Чӣ тавр бояд массивро дар Java баргардонад

Массивро дар Java чӣ гуна эълон кардан мумкин аст?  

Эъломияи Java Arrays

Массивро бо роҳҳои зерин эълон кардан мумкин аст. Декларатсияи массив 2 қисмро дар бар мегирад, аввал ин намуди маълумоти элементҳое мебошад, ки мо бояд онҳоро дар массив нигоҳ дорем (ба монанди int, String ва ғайра) ва пас аз он номи массив. [] ќавс ишора мекунад, ки он массив аст. Вақте ки мо массивро эълон мекунем, он танҳо ба компилятор мегӯяд, ки тағирёбанда массив аст ва дар асл массиви эҷод намекунад.

навъи маълумот [] arrayName; (ё)

навъи маълумот [] arrayName; (ё)

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

Намунаи эъломияи массив

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

Массивро дар Java чӣ гуна сохтан мумкин аст?  

Масри сатр дар Java

Мо массивро бо истифода аз нав оператор. Дар ин, мо андозаи массивро дар [] муайян мекунем, ки миқдори хотираро барои нигоҳ доштани тағирёбандаи массив талаб мекунад.

arrname = навъи нави маълумот [андоза];

Мо инчунин метавонем асал дар як изҳороти ягона, ки дар зер оварда шудааст. Изҳори аввал массиви бутунро бо номи рақамҳои андозаи 5 месозад. Дуюм массиви String -ро бо номи андозаи 2 месозад

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

Массивро дар Java чӣ гуна оғоз кардан мумкин аст?  

Массивро чӣ гуна барқарор кардан мумкин аст?

Ифтитоҳи массив ё инстинтсия маънои таъин кардани арзишҳоро ба массивро дар асоси андозаи массив дорад. Мо инчунин метавонем массивро якҷоя созем ва ба кор дарорем (насб кунем) (Ба усули 1 дар поён нигаред). Дар ин ҳолат, шумораи элементҳо дарозӣ ё андозаи массивро нишон медиҳанд. Дар усули 2, мо ҳар як унсурро алоҳида t0 мегузорем. Азбаски индекси массив аз 0 сар мешавад ва андозаи массив дар ин ҷо 3 аст, унсури 3-юм мавқеи дуюмро ишғол мекунад, ки n-2 мебошад, ки n андозаи массив аст.

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

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

Дастрасӣ ба унсурҳои Array дар Java  

Мо бо истифода аз арзиши индекси он ба унсурҳои массив дастрасӣ пайдо мекунем. Умуман, мо истифода мебарем барои ҳалқа ё Барои ҳар як ҳалқа барои дастрасӣ ба унсурҳои массив, зеро ҳамаи элементҳо якхелаанд ва андозаи собит доранд.

ҳамчунин нигаред
Фарқи максималии байни унсурҳои хурдтарини чап ва ростро пайдо кунед

Мисол: Эҷод, оғоз ва дастрасӣ ба унсурҳои Массив

Дар ин ҷо, мо як қатор сатрҳоро дар як изҳорот сохта, ба кор дароварда истодаем ва ба ҳар як унсур барои for loop дастрасӣ дорем

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 сатр ва 3 сутун мебошанд. Мо арзишҳоро ба ин унсурҳои массив дар дохили ҳалқа таъин мекунем. 1-ум барои ҳалқа сатрҳоро ва 2-юм барои ҳалқа сутунҳоро ифода мекунад.

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 

Arrays Jagged дар Java

Массиви ҷарроҳишуда инчунин массиви 2-ченакест, ки дорои шумораи гуногуни сутунҳо мебошад. Ба ибораи дигар, ҳар як сатр дорои сутунҳои гуногун аст. Оғоз кардани массиви ҷаззоб аз массиви муқаррарии 2D фарқ мекунад.

ҳамчунин нигаред
Ришта дар Java

Оғози массиви Jagged

Ҳангоми сохтани массив мо шумораи сатрҳоро муайян мекунем. Дар ин мисол, он 2 аст. Дар 2 изҳороти оянда, барои ҳар як массиви сатр, мо шумораи сутунҳоро муайян мекунем. Дар ин ҷо, қатори 1 3 сутун ва қатори дуюм 2 сутун дорад.

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

Намунаи массиви ҷаззоб бо таъин кардани арзишҳо барои for loop

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 

Усулҳои Array Java  

Дар зер усулҳои мустақиме мавҷуданд, ки Arrays дар Java дастгирӣ мекунанд

методТавсифи
клони ботил ()Арзиши массиви мавҷударо, ки дар он маълумотномаҳо нусхабардорӣ карда намешаванд, клон мекунад
Булӣ баробар аст (Объекти 0)Ба объекти ҷорӣ баробар будани ягон объекти дигарро месанҷад
Синфи getClass ()Номи синфро бармегардонад
Сатри toString ()Намоиши сатрии объектро бармегардонад
дарозии int ()Дарозии массивро бармегардонад

Истисноҳои Array Java  

Массивҳо дар Java мепартояд истиснои зер:

  • ArrayIndexOutOfBoundsException: Ин вақте рух медиҳад, ки арзиши индексе, ки мо муайян мекунем, аз дарозии массив зиёд бошад ё манфӣ бошад. Ин асосан ҳангоми таъин кардани арзиш ё дастрасӣ ба унсурҳои массив рух медиҳад.

Массивро нусхабардорӣ кунед  

Мо метавонем бо истифода аз усули arraycopy -и синфи System унсурҳоро аз як массив ба дигараш нусхабардорӣ намоем.

ҳамчунин нигаред
Дарозии пайдоиши Фибоначчи дарозтарин

Нусхбандии массивро нусхабардорӣ кунед

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-ро барои нусхабардории як қатор элементҳо аз як массив ба дигараш истифода барем
  • Массивро барои арзиши махсус дар асоси индекс ҷустуҷӯ кунед (Ҷустуҷӯи дуӣ)
  • Бо массиви барои муқоисаи баробарӣ бо усули баробар муқоиса кунед
  • Усули пур кардани массивро барои ҷойгир кардани қимати мушаххас ба индекс истифода баред
  • Ҷудокунии массив бо истифодаи усули навъ
ҳамчунин нигаред
Вақти ҳадди аққал барои пӯсидани ҳамаи афлесун

Сохтани массив бо истифода аз объекти муайяннамудаи корбар  

Дар java, мо инчунин метавонем як объекти муайянкардаи корбарро тавре созем, ки чӣ гуна мо массиви сатрҳо, бутун ва ғайраро созем. Ин мисоли он аст, ки чӣ гуна мо метавонем як объекти массиви донишҷӯёнро созем ва объекти массивро ба кор дарорем.

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, эълом кардан, эҷод кардан ва ба кор даровардани массивҳо бо мисолҳои гуногун оварда шудааст.

ишора