Java-da ArrayList


ArrayList Java Java siyahısıBaxılıb 1358

Java-da ArrayListPin

Java-da ArrayList, dinamik ölçülü bir sıra yaratmaq üçün ən çox istifadə edilən məlumat quruluşudur. Abstrakt sinifini uzadır və tətbiq edir Java siyahısı interfeys. ArrayList arasındakı əsas fərq, massivin statik olmasıdır (element əlavə edə və silə bilmirik), ArrayList isə dinamikdir (elementləri əlavə edə, çıxara və ya dəyişdirə bilərik). Bu yazıda, ArrayList nə olduğunu və bir ArrayList'i Java-da necə işə salacağımızı görəcəyik.

Ayrıca ilginizi çekebilir ArrayList və LinkedList

Java ArrayList iyerarxiyası

Javada arraylistPin

Java-da ArrayList Sınıfının elan edilməsi

ArrayList'i Java-da istifadə etmək üçün idxal etməliyik java.util.ArrayList. Aşağıda bir ArrayList elanı verilmişdir

ümumi sinif ArrayList AbstractList siyahısını uzadır Siyahını həyata keçirir , RandomAccess, Cloneable, Serializable

burada E elementi və ya obyekt növünü ifadə edir (Məsələn: Tamsayı, String və s.)

ArrayList sinfi AbstractList sinfini genişləndirir və List interfeysini həyata keçirir.

ArrayList Konstruktorları

ArrayList yarada bilərik Java İnşaatçıları aşağıdakı 3 metodda:

konstruktortəsvir
ArrayList ()Bu boş bir sıra siyahısı yaradır
ArrayList (Kolleksiya c)Bu kolleksiya elementləri ilə bir sıra siyahısı yaradır
ArrayList (int ölçüsü)Bu, müəyyən ölçülü bir sıra siyahısı yaradır

Java ArrayList Xüsusiyyətləri

  • Əlavə edə biləcəyimiz, dəyişdirə biləcəyimiz və ya dəyişdirə biləcəyimiz ölçüsü dəyişdirilə bilən dinamik bir sıra elementləri çıxarın siyahıdan istənilən vaxt
  • Ardıcıl bir qaydada saxlayır.
  • Bu asandır hər hansı bir məlumat əldə edin indeksə əsaslanan siyahıdan.
  • İzin verir dublikat siyahıdakı elementlər

Java ArrayList Metodları

Aşağıdakı metodlara əlavə olaraq, Java-da ArrayList var keçid List interfeysinin bütün metodlarına.

ÜsultəsvirParametr
Mantı əlavə et (Nesne e)Göstərilən elementi siyahının sonuna əlavə edir. e - əlavə ediləcək element.
Qaytarma dəyəri - Doğru
void add (int index, Object e)Elementi göstərilən indeksə əlavə edir. İndeksdə artıq bir element varsa, o, sağa keçir indeks - elementin daxil edilməli olduğu indeks
e - daxil edilməsi lazım olan element
Boolean addAll (Collection c)Göstərilən elementlərin siyahısını siyahıya əlavə edir.c - əlavə ediləcək elementlər toplusu
Qaytarma dəyəri - doğrudur
Boolean addAll (int index, Collection c)Göstərilən indeksdə elementlər kolleksiyası əlavə edir. İndeksdə artıq element varsa, sonradan sağa keçirindeks - elementlərin əlavə edilməli olduğu indeks
c - əlavə ediləcək elementlər toplusu
Qaytarma dəyəri - Doğru
boşluq təmiz ()Siyahıdakı bütün elementləri təmizləyir.
Mantiq tərkibində (Nesne o) varSiyahıda göstərilən elementin olub-olmadığını yoxlayırQaytarma dəyəri - siyahıda element varsa doğrudur
BooleanAll (Collection c) ehtiva edirSiyahıda kolleksiyadakı bütün elementlərin olub-olmadığını yoxlayırQaytarma dəyəri - siyahıda bütün elementlər varsa doğrudur
Mantiq bərabərdir (O ​​obyekt)Siyahıda göstərilən bütün elementləri dəqiq qaydada ehtiva etdiyini müqayisə edirQaytarma dəyəri - obyekt elementləri siyahı ilə uyğun gəlirsə doğrudur
Obyekt getIndex (int indeksi)Elementi göstərilən indeksdə alırindeks - alınması lazım olan elementin göstəricisi
Qaytarma dəyəri - Göstərilən indeksdəki element
int indexOf (Obyekt o)Göstərilən elementin ilk meydana çıxma indeksini götürüro - Müəyyən ediləcək element
Qaytarma dəyəri - indeks dəyəri
Boole isEmpty ()Siyahının boş olub olmadığını yoxlayırQaytarma dəyəri - siyahıda dəyər yoxdursa doğrudur
Təkrarlayıcı iterator ()Siyahının yineleyicisini ardıcıllıqla alırQaytarma dəyəri - təkrarlayıcı
int lastIndexOf (Obyekt o)Müəyyən edilmiş obyektin son hadisəsini alıro - Müəyyən ediləcək element
Qaytarma dəyəri - indeks dəyəri
Obyekt sil (int indeksi)Müəyyən edilmiş indeksdəki elementi silirindeks - elementin silinməli olduğu indeks mövqeyi
Qaytarma dəyəri - Silinən element
Mantı sil (Nesne o)Varsa göstərilən obyektin ilk meydana çıxmasını siyahıdan siləro - Sökülməsi lazım olan element
Qaytarma dəyəri - siyahıda element varsa, doğrudur
Boolean kaldırAll (Collection c)Varsa kolleksiyadakı bütün elementlərin ilk meydana çıxmasını siyahıdan çıxarırc - elementlərin toplanması
Qaytarma dəyəri - siyahıda kolleksiya varsa doğrudur
Boolean tutmaAll (Collection c)Siyahıda kolleksiyada göstərilən bütün elementləri saxlayır. Digər elementlər silinəcəkdirc - saxlanılması lazım olan elementlər toplusu
Qaytarma dəyəri - adlanan metod sayəsində siyahı dəyişsə doğrudur
Obyekt dəsti (int index, Object o)Müəyyən edilmiş indeksdəki elementi ötürülmüş obyekt ilə əvəz ediro - dəyişdiriləcək element
indeks - elementin indeksi
Qaytarma dəyəri - Daha əvvəl göstərilən indeksdə olan elementi qaytarır
int ölçüsü ()Siyahının ölçüsünü götürürQaytarma dəyəri - siyahının ölçüsü
Siyahı alt siyahısı (int fromIndex, int toIndex)Siyahının hissəsini start və endIndex əsas götürürfromIndex - alt siyahının alınması lazım olan vəziyyət (daxil edilir)
toIndex - alt siyahının alınacağı indeks (xaric)
void provideCapacity (int minacapity)Arraylistin ölçüsünü artırır və qeyd edildiyi kimi minimum tutumu tutmağı təmin edirmincapacity - sıra siyahısının saxlaya biləcəyi minimum element sayı
boş sort (Müqayisələndirici c)Siyahıda olan elementləri müqayisə arqumentinə əsasən sıralayırc - siyahı elementlərini müqayisə etmək üçün istifadə olunan kompartor
Obyekt [] toArray ()Bir sıra elementləri müvafiq ardıcıllıqla qaytarırQaytarma dəyəri - Siyahıdakı bütün elementlərin düzgün ardıcıllıqla düzülməsi
String toString ()Massiv elementləri toplusunun bir String nümayəndəliyini qaytarırQaytarma dəyəri - Vergül və boşluqla ayrılmış və [] daxilində olan sıra elementlərinin sətri
boş trimToSize ()ArrayList misalının ölçüsünü cari siyahı ölçüsünə endirir

Java ArrayList Ümumi və Qeyri-Ümumi Bəyannamə

JDK 1.5-dən əvvəl Java Collection çərçivəsi aşağıda göstərildiyi kimi ümumi idi.

ArrayList al = yeni ArrayList (); -> Siyahıda hər növ element ola bilər

JDK 1.5-dən sonra, aşağıdakı kimi istifadə edilə bilən qeyri-ümumi dəstəkləyir. Element tipini <> daxilində təyin edə bilərik.

ArrayList al = yeni ArrayList (); -> Siyahıda yalnız String dəyərləri ola bilər

ArrayList al = yeni ArrayList (); -> Siyahıda yalnız Tamsayı dəyəri ola bilər

Java ArrayList İstisnaları

ArrayList Java atır istisnalar aşağıda:

  • DesteklenmeyenOperationException - əməliyyat dəstəklənmədikdə
  • IndexOutofBoundsException - etibarsız indeks göstərildiyi zaman (fromIndex <0 və ya fromIndex> toIndex və ya toIndex> size)
  • ClassCastException - göstərilən elementin sinfi onu siyahıya əlavə etməyə mane olduqda
  • NullPointerException - göstərilən element sıfır olduqda və siyahı boş element əlavə etməyə imkan vermir
  • IllegalArgumentException - elementin bəzi xassələri siyahıya əlavə edilməsinə mane olduqda

ArrayList'i Java-ya import edin

ArrayList sinifindən istifadə etməyə başlamazdan əvvəl istifadə etmək üçün müvafiq paketi idxal etməliyik. Bunun üçün ArrayList istifadə etmək üçün aşağıdakı paketi idxal edirik.

import java.util.ArrayList;

Java-da ArrayList elan edin

A yarataraq Java-da ArrayList elan edə bilərik dəyişən ArrayList tipli. Siyahının növünü String və ya Tamsayı və s. Kimi təyin edə bilərik. Aşağıda ArrayList və String tiplərinin ArrayList elan edilməsinə bir nümunə verilmişdir.

ArrayList<String> colors;
ArrayList<Integer> weight;

Java'da ArrayList yaradın

Bir ArrayList elan etdikdən sonra onu bir obyekti hazırlamaq və dəyişənə təyin etmək üçün konstruktoru çağıraraq yarada bilərik. Yuxarıda müzakirə edildiyi kimi hər hansı bir inşaatçıdan istifadə edə bilərik. Aşağıdakı kimi bir bəyanatda ArrayList elan edə və yarada bilərik.

ArrayList<String> colors = new ArrayList<String>();

(OR)

ArrayList<String> colors; //declare an ArrayList
colors = new ArrayList<String>(); //create an ArrayList

ArrayList-i Java-da necə işə salmaq olar?

ArrayList elan edib yaratdıqdan sonra onu lazımi dəyərlərlə işə sala bilərik. Aşağıda göstərildiyi kimi bir ArrayListi başlatmaq üçün bir neçə metod var.

Add () metodundan istifadə olunur

ArrayList-i Java-da işə salmaq üçün yayılmış metodlardan biri add () metodundan istifadə etməkdir.

ArrayList<String> colors = new ArrayList<String>();
colors.add("Red");
colors.add("Blue");
colors.add("Green");

AsList () metodundan istifadə olunur

ArrayList yaratarkən Arrays sinfinin asList () metodundan istifadə edə bilərik. Bu, ArrayList-i işə salmaq üçün başqa bir metoddur.

ArrayList<String> color = new ArrayList<String>(
  Arrays.asList("Red","Blue","Green")
);

List.Of () metodundan istifadə etmək

List.of () metodu bir ArrayList-i başlatmaq üçün başqa bir yoldur.

List<String> colors = new ArrayList<>(
  List.of("Red","Blue","Green")
);

Başqa bir Kolleksiyadan istifadə etmək

Başqa bir Kolleksiyanın dəyərlərindən istifadə edərək bir ArrayListi də işə sala bilərik. Aşağıdakı kodda məlumat dəyişənini rənglər ArrayList dəyərləri ilə başlatırıq.

ArrayList<String> colors = new ArrayList<String>();
colors.add("Red");
colors.add("Blue");
colors.add("Green");
    
ArrayList<String> data = new ArrayList<String>(colors);

Java ArrayList Nümunələr

ArrayList yaratmaq və elementlər və kolleksiya əlavə etmək

Əvvəlcə Java tipli bir ArrayList yaradırıq Sim və sonra siyahıya elementlər əlavə edin. Sonra indeks 1-ə yeni bir element əlavə edirik. Beləliklə indeks 1-də əvvəllər mövcud olan element ardıcıl olaraq sağa doğru hərəkət edəcəkdir. Bir sıra indeks həmişə 0-dan başlayır.

Sonra, 2 elementdən ibarət yeni bir siyahı yaradırıq və bütün kolleksiyanı indeks 1-də 1-ci siyahıya əlavə edirik.

import java.util.ArrayList;

public class ArrayListDemo {

  public static void main(String[] args) {
    //Create a String ArrayList
    ArrayList<String> al = new ArrayList<String>();
    
    //Add elements
    al.add("Java");
    al.add("JavaScript");
    al.add("PHP");

    System.out.println("Element in the list1:");
    System.out.println(al);
    
    //Add element at index 1
    al.add(1, "C");
    
    System.out.println("After adding element at index 1: ");
    System.out.println(al);
    
    //Create list2
    ArrayList<String> list = new ArrayList<String>();
    list.add("C++");
    list.add("Ruby");
    System.out.println("Elements in list2:");
    System.out.println(list);
    
    //Add list2 elements in list1
    al.addAll(1, list);
    System.out.println("Elements in List 1 after adding list2:");
    System.out.println(al);
    
  }

}

Output:
Element in the list1:
[Java, JavaScript, PHP]
After adding element at index 1: 
[Java, C, JavaScript, PHP]
Elements in list2:
[C++, Ruby]
Elements in List 1 after adding list2:
[Java, C++, Ruby, C, JavaScript, PHP]

ArrayList-dən bir elementin dəyişdirilməsi və silinməsi

Aşağıda dəyişdirmək üçün bir nümunə proqram var array siyahısı və Java-da ArrayList-dən bir elementi silin.

import java.util.ArrayList;
public class ArrayListDemo2 {

  public static void main(String[] args) {
    //Create an Integer ArrayList
    ArrayList<Integer> numbers = new ArrayList<Integer>();
    numbers.add(4);
    numbers.add(8);
    numbers.add(2);
    
    System.out.println("Elements in the list are: ");
    System.out.println(numbers);
    
    //Modify element
    numbers.set(1, 6);
    
    System.out.println("After modifying an element at index 1:");
    System.out.println(numbers);
    
    //Remove an element
    numbers.remove(2);
    
    System.out.println("After removing an element at index 2:");
    System.out.println(numbers);
  }

}
Output:
Elements in the list are: 
[4, 8, 2]
After modifying an element at index 1:
[4, 6, 2]
After removing an element at index 2:
[4, 6]

Digər faydalı metodlar

Aşağıdakı nümunə ArrayList-in bir hissəsi olan contains (), indexOf () və retainAll () metodlarının istifadəsini göstərir.

import java.util.ArrayList;
public class ArrayListDemo4 {

  public static void main(String[] args) {
    ArrayList<String> letters = new ArrayList<String>();
    letters.add("A");
    letters.add("G");
    letters.add("R");
    System.out.println(letters.contains("U"));
    int i = letters.indexOf("G");
    System.out.println("Index of G is " + i);
    
    ArrayList<String> c = new ArrayList<String>();
    c.add("F");
    c.add("E");
    c.add("T");
    c.add("P");
    letters.addAll(c);
    System.out.println("Elements in the list after using addAll:");
    System.out.println(letters);
    letters.retainAll(c);
    System.out.println("Elements in the list after using retainAll:");
    System.out.println(letters);


  }

}
Output:
false
Index of G is 1
Elements in the list after using addAll:
[A, G, R, F, E, T, P]
Elements in the list after using retainAll:
[F, E, T, P]

Javada bir ArrayListi silin

Aşağıdakı misal, ArrayList-də isEmpty () və clear () metodlarının istifadəsinin nəticəsini açıq şəkildə göstərir. Clear () metodundan istifadə edərək, bütün elementləri silməklə ArrayList'i boşalda bilərik.

import java.util.ArrayList;
public class ArrayListDemo5 {

  public static void main(String[] args) {
    ArrayList<String> s = new ArrayList<String>();
    s.add("India");
    s.add("US");
    s.add("Germany");
    System.out.println("Contents in list:");
    System.out.println(s);
    System.out.println("Result of calling isEmpty(): " + s.isEmpty());
    s.clear();
    System.out.println("Contents in list after calling clear(): " + s);
    System.out.println("Result of calling isEmpty() after clear: " + s.isEmpty());
  }

}
Contents in list:
[India, US, Germany]
Result of calling isEmpty(): false
Contents in list after calling clear(): []
Result of calling isEmpty() after clear: true

sureCapacity ()

Bu üsul Java ArrayList -in bir minimum element sayı. Bu dinamik olaraq böyüyən bir sıra ölçüsü üçün istifadə edilə bilər.

import java.util.ArrayList;
public class ArrayListDemo6 {

  public static void main(String[] args) {
    ArrayList al = new ArrayList();
    al.add("Mango");
    al.add("Guava");
    al.add("Apple");
    al.ensureCapacity(3);
    System.out.println("Array list can store

minimum

 of 3 elements");
    al.add("Orange");
    System.out.println(al);
  }

}
Output:
Array list can store minimum of 3 elements
[Mango, Guava, Apple, Orange]

ArrayList'i Java-da çap edin - elementləri təkrarlayın və ya gəzin

Biz təkrarlamaq aşağıdakı metodlardan birini istifadə edərək Java-da ArrayList vasitəsilə:

  • Döngü üçün
  • hər
  • Təkrarlayıcı interfeysi
  • ListIterator interfeysi

Döngü üçün istifadə olunan elementləri əldə edin

Burada, sıra elementlərini almaq və nəticədə çap etmək üçün loop üçün istifadə edirik.

import java.util.ArrayList;
public class ArrayListDemo3 {

  public static void main(String[] args) {
    
    ArrayList<String> list = new ArrayList<String>();
    list.add("Ramesh");
    list.add("Banu");
    list.add("Priya");
    list.add("Karthik");

    int size = list.size();
    System.out.println("Size of list is : " + size);
    for(int i=0;i<size;i++)
    {
      System.out.println(list.get(i));
    }
  }

}
Output:
Size of list is : 4
Ramesh
Banu
Priya
Karthik

 Hər döngə üçün istifadə edərək elementlər əldə edin

Biz də istifadə edə bilərik hər döngə üçün massiv elementlərini aşağıda göstərildiyi kimi əldə etmək.

import java.util.ArrayList;
public class ArrayListDemo3 {

  public static void main(String[] args) {
    
    ArrayList<String> list = new ArrayList<String>();
    list.add("Ramesh");
    list.add("Banu");
    list.add("Priya");
    list.add("Karthik");

    for(String s: list)
    {
      System.out.println(s);
    }
  }

}
Output:
Ramesh
Banu
Priya
Karthik

Iterator və ListIterator istifadə edərək hərəkət edin

İterator və ListIterator digərləridir metodika Java ArrayList-də massiv elementlərindən keçmək. Bunun üçün əvvəlcə bir ArrayList yaradırıq və həmin obyektdən iterator obyekti və ya ListIterator obyekti yaratmaq üçün istifadə edirik. Bundan sonra istifadə edərək yineleyerek elementləri əldə etmək üçün next () kimi daxili metodlardan istifadə edə bilərik döngə zamanı. Əvvəlki () metodundan istifadə edərək geriyə doğru gedə bilərik.

import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
public class ArrayListIterator {

  public static void main(String[] args) {
    ArrayList<String> cities = new ArrayList<String>();
    cities.add("Bangalore");
    cities.add("Chennai");
    cities.add("Delhi");
    cities.add("Mumbai");
    cities.add("Hyderabad");
    
    System.out.println("Traversing forward using iterator");
    Iterator<String> it = cities.iterator();
    while(it.hasNext()) {
      System.out.println(it.next());
    }
    
    System.out.println("\nTraversing reverse using listiterator");
    ListIterator<String> li = cities.listIterator(cities.size());
    while(li.hasPrevious()) {
      System.out.println(li.previous());
    }
    
  }

}
Output:
Traversing forward using iterator
Bangalore
Chennai
Delhi
Mumbai
Hyderabad

Traversing reverse using listiterator
Hyderabad
Mumbai
Delhi
Chennai
Bangalore

Java-da bir ArrayList sırala

Java Collection çərçivəsində istifadə edərək, sıra siyahısındakı elementləri sıralaya bilərik cür metodu aşağıda göstərildiyi kimi. Budur tam ədədlərin çeşidlənməsi ArrayList -də mövcuddur.

import java.util.ArrayList;
import java.util.Collections;

public class ArrayListSort {

  public static void main(String[] args) {
    ArrayList<Integer> i = new ArrayList<Integer>();
    i.add(5);
    i.add(1);
    i.add(10);
    i.add(3);
    i.add(8);
    System.out.println("Before Sorting");
    for(int num : i)
      System.out.println(num);
    Collections.sort(i);
    System.out.println("After Sorting");
    for(int numbers : i)
      System.out.println(numbers);
  }

}
Output:
Before Sorting
5
1
10
3
8
After Sorting
1
3
5
8
10

Java ArrayList istifadəçi tərəfindən təyin olunan obyektlərin nümunəsi

İstifadəçi tərəfindən təyin olunmuş obyektləri saxlamaq üçün ArrayList-dən də istifadə edə bilərik. Aşağıdakı nümunə, ArrayListdə Employee sinif obyektini necə saxladığımızı göstərir. Bundan istifadə edərək ArrayList-ə elementlər əlavə edə bilərsiniz.

import java.util.ArrayList;
import java.util.Iterator;
class Employee
{
  int empid;
  String empname;
  String empdesignation;
  
  Employee(int empid,String empname,String empdesignation)
  {
    this.empid = empid;
    this.empname = empname;
    this.empdesignation = empdesignation;
  }
}
public class ArrayListObject {

  public static void main(String[] args) {
    //Create Employee class objects
    Employee e1 = new Employee(100,"Rohit","Developer");
    Employee e2 = new Employee(200,"Shyam","Tester");
    Employee e3 = new Employee(205,"Tarun","Trainee");
    
    //Create an arraylist
    ArrayList<Employee> list = new ArrayList<Employee>();
    
    //Add employee objects to the list
    list.add(e1);
    list.add(e2);
    list.add(e3);
    
    //Declare iterator
    Iterator i = list.iterator();
    while(i.hasNext()) {
      //Convert to Employee object to access the elements
      Employee emp = (Employee)i.next();
      System.out.println(emp.empid + " " + emp.empname + " " + emp.empdesignation);
    }
    

  }

}
Output:
100 Rohit Developer
200 Shyam Tester
205 Tarun Trainee

nəticə

Bu təlimatda ArrayList və Java-da bir ArrayList-in necə işə salınacağı, metodları və massiv elementlərindən nümunə proqramları ilə necə alınacağı barədə ətraflı məlumat verilir. Maraqlana bilərsiz Java kolleksiyası müsahibə sualları sonra gedin müsahibələri çatlayın.

arayış

Şərh yaz

Translate »
2