Ինչպես նախադրել զանգվածը java- ում  



Դասավորություն Java

Ինչպես նախադրել զանգվածը java- ում

Java- ի զանգվածները ամենատարածված օգտագործվող տվյալների կառուցվածքն են, որոնք պահում են նույն տվյալների մի քանի տեսակի արժեքներ հաջորդական կարգով: Rayանգվածը ֆիքսված երկարություն ունի, և ինդեքսը սկսվում է 0-ից n-1, որտեղ n զանգվածի երկարությունն է: Javaավայում մենք կարող ենք օգտագործել զանգվածների դաս ՝ ցանկացած տիպի արժեք պահելու համար, ինչպիսիք են String, ամբողջ թիվ, նիշ, բայթ և նույնիսկ օգտագործողի կողմից սահմանված օբյեկտներ: Մենք կսովորենք, թե ինչպես պետք է Java- ում զանգված նախանշել:

Ստորև բերված է 11 տարր ունեցող ամբողջ թվերի միաչափ զանգվածի գծապատկերային ներկայացումը:

Raանգվածներ java- ում

Բառը

Java զանգվածների առանձնահատկությունները  

  • Rayանգվածն ունի ֆիքսված չափ և չի կարող փոխվել
  • Քանի որ զանգվածը հիմնված է ինդեքսի վրա, հեշտ է մուտք գործել պատահական տարրեր
  • Հատկացնում է շարունակական հիշողությունը զանգվածի տարրերի համար:
  • Կարող է պահպանել երկուսն էլ պարզունակ և ոչ պարզունակ տվյալներ արժեքներ
Տես նաեւ,
Ինչպես վերադարձնել զանգվածը Java- ում

Ինչպե՞ս հայտարարել զանգված rayավայում:  

Java Arrays հայտարարություն

Rayանգվածը կարող է հայտարարվել հետևյալ ձևերով: Rayանգվածային հայտարարագիրը պարունակում է 2 մաս, առաջինը այն տարրերի տվյալների տեսակն է, որը մենք պետք է պահենք զանգվածում (ինչպես int, String և այլն), որին հաջորդում է զանգվածի անունը: [] փակագծերում նշվում է, որ դա զանգված է: Երբ մենք զանգված ենք հայտարարում, այն պարզապես ասում է կազմողին, որ փոփոխականը զանգված է և իրականում չի ստեղծում զանգված:

տվյալների տեսակը [] arrayName; (կամ)

տվյալների տեսակը [] arrayName; (կամ)

տվյալների տիպի զանգված Name []; -> Սովորաբար մենք չենք նախընտրում օգտագործել այս մեթոդը, թեև այն վավեր է:

Rayանգվածային հայտարարագրի օրինակ

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- ում:  

Ինչպե՞ս զանգված հավաքել:

Rayանգվածի նախնականացումը կամ ակնթարթացումը նշանակում է զանգվածին արժեքներ հատկացնել զանգվածի չափի հիման վրա: Կարող ենք նաև միասին մի զանգված ստեղծել և նախաստորագրել (ակնթարթային) (տե՛ս ստորև նշված մեթոդը 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;

Rayավայի զանգվածի տարրերի մուտք  

Մենք մատչում ենք զանգվածի տարրերին `օգտագործելով դրա ինդեքսի արժեքը: Ընդհանրապես, մենք օգտագործում ենք համար հանգույց կամ Յուրաքանչյուր հանգույց ՝ զանգվածի տարրեր մուտք գործելու համար, քանի որ բոլոր տարրերը նույն տեսակի են և ունեն ֆիքսված չափ:

Տես նաեւ,
Գտեք առավելագույն տարբերությունը մոտակա ձախ և աջ փոքր տարրերի միջև

Օրինակ. Ստեղծել, նախաստորագրել և մուտք գործել զանգվածի տարրեր

Այստեղ մենք ստեղծում և նախաստորագրում ենք տողերի զանգված մեկ հայտարարության մեջ և մուտք ենք գործում յուրաքանչյուր տարր ՝ օղակի համար օգտագործելով

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 մատրից
  • Jagged array - Յուրաքանչյուր տող պարունակում է տարբեր քանակությամբ սյունակներ

Բազմաչափ զանգվածներ java- ում

Բազմաչափ զանգվածները կարող են ունենալ բազմաթիվ տողեր և սյուններ: Առաջին [] ինդեքսը տողեր է ներկայացնում, իսկ երկրորդը [] սյուններ է:

Օրինակ ՝ int [] [] a = new int [2] [3]

Սա նշանակում է, որ զանգվածը պարունակում է 2 տող և 3 սյունակ: Ստորև բերված է բազմաչափ զանգվածի գծապատկերային ներկայացումը

Raանգվածներ 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-ը ՝ սյուններ:

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ավայում

Jagged զանգվածը նաև երկչափ զանգված է, որն ունի տարբեր քանակությամբ սյունակներ: Այլ կերպ ասած, յուրաքանչյուր տող ունի սյունակների տարբեր քանակ: Դռնփակ զանգվածի սկզբնավորումը տարբերվում է սովորական 2D զանգվածից:

Տես նաեւ,
Թեմա Java- ում

Jagged զանգվածի նախնականացումը

Arանգվածի ստեղծման ընթացքում մենք նշում ենք տողերի քանակը: Այս օրինակում դա 2-րդն է: Հաջորդ 2 հայտարարություններում յուրաքանչյուր շարքի զանգվածի համար մենք նշում ենք սյունակների քանակը: Այստեղ 1-ին շարքն ունի 3 սյունակ, իսկ 2-րդ շարքում `4 սյունակ:

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

Ատամնավոր զանգվածի օրինակ ՝ օղակի համար արժեքներ նշանակելով

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 մեթոդներ  

Ստորև բերված են Java- ի Arrays- ի աջակցած ուղղակի մեթոդները

ՄեթոդՆկարագրություն
անվավեր կլոն ()Կլոնավորում է զանգվածի առկա արժեքները, որտեղ հղումները չեն կրկնօրինակվում
Բուլյան հավասար է (օբյեկտ 0)Ստուգում է ՝ արդյոք որևէ այլ առարկա հավասար է ընթացիկ առարկային
Դաս getClass ()Վերադարձնում է դասի անվանումը
String toString ()Վերադարձնում է օբյեկտի լարային ներկայացումը
int երկարություն ()Վերադարձնում է զանգվածի երկարությունը

Java Array Բացառություններ  

Raանգվածները ներսում Java նետում է ստորև բերված բացառությունը.

  • ArrayIndexOutOfBoundsException. Դա տեղի է ունենում այն ​​դեպքում, երբ ինդեքսի արժեքը, որը մենք նշում ենք, ավելի մեծ է, քան զանգվածի երկարությունը, կամ երբ այն բացասական է: Դա տեղի է ունենում հիմնականում արժեք նշանակելու կամ զանգվածի տարրեր մուտք գործելիս:

Պատճենել զանգված  

Մենք կարող ենք պատճենել տարրերը մի զանգվածից մյուսը `օգտագործելով System դասի arraycopy մեթոդը:

Տես նաեւ,
Ֆիբոնաչիի ամենաերկար հետևանքի երկարությունը

Պատճենել զանգվածի շարահյուսությունը

public void arraycopy (Object src, int srcPos, Object dest, int destPos, int երկարություն);

src-source զանգվածի օբյեկտ, որը պետք է պատճենել

srcPos - սկզբնական դիրքը աղբյուրի զանգվածում

dest - նպատակակետի զանգվածի օբյեկտ, որի վրա պետք է պատճենել

destPos - մեկնարկային դիրքը նշանակման զանգվածում

երկարությունը - զանգվածի տարրերի քանակը պատճենելու համար

Copանգվածի պատճենման օրինակ

Ստորև ներկայացված օրինակում մենք պատճենում ենք 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

Arանգվածը փոխանցեք մեթոդի  

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

Rayանգվածային մանիպուլյացիաներ  

Raանգվածները ներսում Java- ն պատկանում է java.util փաթեթին, Ստորև նշված է java.util.Array դասի կողմից աջակցվող մի քանի գործողություններ.

  • Մենք կարող ենք օգտագործել Array դասի copyOfRange մեթոդը ՝ մի շարք տարրերից մեկից մյուսը պատճենելու համար
  • Searchուցանիշի հիման վրա հատուկ արժեքի զանգվածում որոնում (Երկուական որոնում)
  • Հավասարությունը ստուգելու համար համեմատիր զանգվածների հետ հավասարությունը ստուգելու համար
  • Օգտագործեք լրացման մեթոդը `զանգվածը լրացնելու համար` ինդեքսում որոշակի արժեք տեղադրելու համար
  • Rayանգվածի տեսակավորում ՝ տեսակավորման մեթոդով
Տես նաեւ,
Բոլոր նարինջները փտելու համար անհրաժեշտ նվազագույն ժամանակը

Rayանգվածի ստեղծում օգտագործողի կողմից սահմանված օբյեկտի միջոցով  

Java- ում մենք կարող ենք նաև ստեղծել օգտագործողի կողմից սահմանված օբյեկտ, ինչպես այն է, թե ինչպես ենք ստեղծում տողերի զանգված, ամբողջ թիվ և այլն: Սա օրինակ է այն բանի, թե ինչպես կարող ենք ստեղծել Student array օբյեկտ և նախաձևավորել զանգվածի օբյեկտը:

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;
  }
}

եզրափակում  

Այս ձեռնարկը մանրամասն նկարագրում է Java- ում Arrays Class- ը, Java- ի զանգվածների տեսակները, տարբեր նկարազարդումներով զանգվածների հայտարարում, ստեղծում և նախնական նկարագրում:

Մանրամասն