الوقت/التاريخ الآن هو الجمعة أبريل 26, 2024 8:24 pm
3 نتيجة بحث عن Arrays
التعامل مع قوائم المصفوفات ArrayList
أهلا بكمفي هذا المقال ، سنتعلم سويا كيفية التعامل مع الفئة #ArrayList. سنتعرف على عمليات وأساليب #ArrayList المختلفة باستخدام الأمثلة.
1_ تعريف الفئة ArrayList
فئة #ArrayList عبارة عن مصفوفة يمكن تغيير حجمها ، ويمكن العثور عليها في حزمة java.util.حيث انها تقوم بتطبيق الوجهة List
2_الفرق بين المصفوفات #Arrays و قوائم المصفوفات #ArrayList
الفرق بين المصفوفات العادية Array و بين قوائم المصفوفات #ArrayList في Java ، هو أنه لا يمكن تعديل حجم الصفيف Array بينما يمكن إضافة العناصر وإزالتها من ArrayList وقتما تشاء.
وذلك لانة في لغة Java ، نحتاج إلى الإعلان عن حجم المصفوفة قبل أن نتمكن من استخدامها. بمجرد الإعلان عن حجم الصفيف ، من الصعب تغييره.
لمعالجة هذه المشكلة ، يمكننا استخدام فئة #ArrayList. تتيح لنا فئة #ArrayList الموجودة في حزمة java.util إنشاء صفائف قابلة لتغيير الحجم.
على عكس المصفوفات ، يمكن أن تقوم قوائم الصفيف (كائنات من فئة ArrayList) بتعديل سعتها تلقائيًا عندما نضيف عناصر أو نزيلها منها. وبالتالي ، تُعرف قوائم الصفيف أيضًا بالمصفوفات الديناميكية.
3_كيفية الانشاء #ArrayList
إليك كيفية إنشاء قوائم المصفوفات في Java:
- الكود:
ArrayList<Type> arrayList= new ArrayList<>();
حيث أن Type تشير الى نوع البيانات المراد تخزينها فى قائمة المصفوفة فمثلا
- الكود:
// create Integer type arraylist
ArrayList<Integer> A1 = new ArrayList<>();
// create String type arraylist
ArrayList<String> A2 = new ArrayList<>();
ففى قائمة المصفوفة A1 جعلنها من نوع رقمي int فى حين قائمة المصفوفة A2 جعلنها نصية String وكما يمكنا نجعلها تحصل على اكثر من قيمة وذلك على النحو التالى :
- الكود:
ArrayList<Integer,String> A3 = new ArrayList<>();
كما يمكننا أيضًا إنشاء قوائم المصفوفات باستخدام واجهة List. هذا لأن فئة #ArrayList تطبق واجهة List كما اخبر سابقا وذلك على النحو التالى :
- الكود:
List<String> A4 = new ArrayList<>();
4_طرق و اساليب قوائم المصفوفات Methods of ArrayList
يوفر قوائم المصفوفات #ArrayList العديد من الطرق التي تسمح لنا بتنفيذ عمليات قائمة المصفوفة....على النحو التالى :
إضافة عناصر إلى ArrayList
1. باستخدام طريقة add ()
لإضافة عنصر واحد إلى قائمة المصفوفة ، نستخدم طريقة add (). فمثلا،
- الكود:
import java.util.ArrayList;
class Main {
public static void main(String[] args){
ArrayList<String> animals = new ArrayList<>();
// Add elements
animals.add("Dog");
animals.add("Cat");
animals.add("Horse");
System.out.println("ArrayList: " + animals);
}
}
Output
ArrayList: [Dog, Cat, Horse]
2. استخدام رقم الفهرس index number
يمكننا أيضًا إضافة عناصر إلى قائمة صفيف باستخدام الفهارس. فمثلا
- الكود:
import java.util.ArrayList;
class Main {
public static void main(String[] args){
ArrayList<String> animals = new ArrayList<>();
// Add elements
animals.add(0,"Dog");
animals.add(1,"Cat");
animals.add(2,"Horse");
System.out.println("ArrayList: " + animals);
}
}
Output
ArrayList: [Dog, Cat, Horse]
3. إضافة عناصر قائمة صفيف إلى قائمة صفيف أخرى
لإضافة جميع عناصر قائمة الصفيف إلى قائمة صفيف جديدة ، نستخدم طريقة addAll (). فمثلا،
- الكود:
import java.util.ArrayList;
class Main {
public static void main(String[] args){
ArrayList<String> mammals = new ArrayList<>();
mammals.add("Dog");
mammals.add("Cat");
mammals.add("Horse");
System.out.println("Mammals: " + mammals);
ArrayList<String> animals = new ArrayList<>();
animals.add("Crocodile");
// Add all elements of mammals in animals
animals.addAll(mammals);
System.out.println("Animals: " + animals);
}
}
الوصول إلى عناصر ArrayList
1. باستخدام طريقة get ()
للوصول عشوائيًا إلى عناصر قائمة المصفوفات ، نستخدم طريقة get (). فمثلا،
- الكود:
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> animals= new ArrayList<>();
// Add elements in the array list
animals.add("Dog");
animals.add("Horse");
animals.add("Cat");
System.out.println("ArrayList: " + animals);
// Get the element from the array list
String str = animals.get(0);
System.out.print("Element at index 0: " + str);
}
}
2. استخدام طريقة المكرر iterator
للوصول إلى عناصر قائمة المصفوفة بالتسلسل ، نستخدم طريقة iterator . يجب علينا استيراد حزمة java.util.Iterator لاستخدام هذه الطريقة. فمثلا
- الكود:
import java.util.ArrayList;
import java.util.Iterator;
class Main {
public static void main(String[] args){
ArrayList<String> animals = new ArrayList<>();
// Add elements in the array list
animals.add("Dog");
animals.add("Cat");
animals.add("Horse");
animals.add("Zebra");
// Create an object of Iterator
Iterator<String> iterate = animals.iterator();
System.out.print("ArrayList: ");
// Use methods of Iterator to access elements
while(iterate.hasNext()){
System.out.print(iterate.next());
System.out.print(", ");
}
}
}
إزالة عناصر ArrayList
1. باستخدام طريقة remove
لإزالة عنصر من قائمة المصفوفات ، يمكننا استخدام طريقة remove. فمثلا،
- الكود:
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> animals = new ArrayList<>();
// Add elements in the array list
animals.add("Dog");
animals.add("Cat");
animals.add("Horse");
System.out.println("Initial ArrayList: " + animals);
// Remove element from index 2
String str = animals.remove(2);
System.out.println("Final ArrayList: " + animals);
System. out.println("Removed Element: " + str);
}
}
Output
Initial ArrayList: [Dog, Cat, Horse]
Final ArrayList: [Dog, Cat]
Removed Element: Horse
2. باستخدام طريقة removeAll ()
لإزالة جميع العناصر من قائمة المصفوفات ، نستخدم طريقة removeAll (). فمثلا،
- الكود:
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> animals = new ArrayList<>();
// Add elements in the ArrayList
animals.add("Dog");
animals.add("Cat");
animals.add("Horse");
System.out.println("Initial ArrayList: " + animals);
// Remove all the elements
animals.removeAll(animals);
System.out.println("Final ArrayList: " + animals);
}
}
5_تهيئة ArrayList باستخدام asList
على عكس المصفوفات ، لا يمكننا تهيئة قوائم المصفوفات مباشرة. ومع ذلك ، يمكننا استخدام طريقة asList () لفئة المصفوفات لتحقيق نفس التأثير.
لاستخدام طريقة asList () ، يجب استيراد حزمة java.util.Arrays أولاً.
- الكود:
import java.util.ArrayList;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
// Creating an array list
ArrayList<String> animals = new ArrayList<>(Arrays.asList("Cat", "Cow", "Dog"));
System.out.println("ArrayList: " + animals);
// Access elements of the array list
String element = animals.get(1);
System.out.println("Accessed Element: " + element);
}
}
- في الأحد يوليو 05, 2020 12:28 pm
- ابحث في: أساسيات اللغة Java Basics
- موضوع: التعامل مع قوائم المصفوفات ArrayList
- المساهمات: 1
- مشاهدة: 1347
إيجاد الرقم المفهرس لاحد عناصر المصفوفة index of an array element
توجد عدة طرق لايجاد الرقم المفهرس لاى عنصر من عناصر اى مصفوفة وذلك على النحو التالى :1_باستخدام Binary search
توفر لنا الفئة #Arrays الطريقة #binarySearch للعثور على فهرس عنصر أحد عناصر المصفوفة ويتم استخدامها على النحو التالى.
- الكود:
// استيراد الفئة Arrays
import java.util.Arrays;
public class index {
// إنشاء وظيفة للبحث عن فرس عناصر المصفوفة
public static int findIndex(int arr[], int t)
{
int index = Arrays.binarySearch(arr, t);
return (index < 0) ? -1 : index;
}
// دالة التشغيل الرئسية
public static void main(String[] args)
{
int[] my_array = { 1, 2, 3, 4, 5, 6, 7 };
// ايجاد فهرس العنصر 5
System.out.println("Index position of 5 is: "
+ findIndex(my_array, 5));
// إيجاد فهرس العنصر 7
System.out.println("Index position of 7 is: "
+ findIndex(my_array, 7));
}
}
الاخراج :
Index position of 5 is: 4
Index position of 7 is: 6
2_باستخدام Stream API:
#Stream هي طبقة تجريدية جديدة مقدمة في Java 8. من أجل العثور على فهرس عنصر مصفوفة ويتم استخدامها على النحو التالى :
- الكود:
// استيراد الفئة IntStream
import java.util.stream.IntStream;
public class index {
// إنشاء وظيفة للعثور على فهرس عنصر مصفوفة
public static int findIndex(int arr[], int t)
{
int len = arr.length;
return IntStream.range(0, len)
.filter(i -> t == arr[i])
.findFirst()
.orElse(-1);
}
public static void main(String[] args)
{
int[] my_array = { 5, 4, 6, 1, 3, 2, 7, 8, 9 };
System.out.println("Index position of 5 is: "
+ findIndex(my_array, 5));
System.out.println("Index position of 7 is: "
+ findIndex(my_array, 7));
}
}
الاخراج :
Index position of 5 is: 0
Index position of 7 is: 6
- في الإثنين نوفمبر 25, 2019 4:19 pm
- ابحث في: أساسيات اللغة Java Basics
- موضوع: إيجاد الرقم المفهرس لاحد عناصر المصفوفة index of an array element
- المساهمات: 0
- مشاهدة: 743
المصفوفات فى الجافا Java Arrays
أهلا بكممن خلال هذا المقال سنتناول بالشرح مفهوم المصفوفات فى الجافا #Java Array، المقال سوف يغطي المواضيع التالية:
- ما هي المصفوفات Arrays؟
- طرق إنشاء مصفوفة
- الوصول إلى عنصر محدد في المصفوفات
- المصفوفات متعددة الأبعاد
- تمرير بيانات مصفوفة إلى طريقة Method
ما هي المصفوفات Arrays؟
المصفوفات في #Java هي هياكل بيانات متجانسة يتم تنفيذها في #Java ككائنات.حيث تقوم #Arrays بتخزين قيمة واحدة أو أكثر من نوع بيانات محدد بطريقة مفهرسة و يتم الوصول إلى عنصر محدد في المصفوفة بواسطة الفهرس الخاص به.
طرق إنشاء المصفوفات :
الصيغة العامة للإعلان عن المصفوفة على النحو التالى :
المصفوفة ذات البعد الواحد....والصيغة العامة للإعلان عن المصفوفة ذات البعد الواحد كالتالي:
أو يمكن الإعلان عنها بنفس الصيغة السابقة مع وضع الأقواس بعد اسم المصفوفة كالتالي:
أو يمكن الإعلان عنها بنفس الصيغة السابقة مع وضع الأقواس بعد اسم المصفوفة كالتالي:
اذن لكي يتم إنشاء مصفوفة يجب عليك الاتى :
- تحديد نوع البيانات المراد تخزينها فى المصفوفة data type
- قوس مربع []
- وضع اسم للمصفوفة
مثال : انشاء مصفوفة باسم A تحتوي على بيانات من نوع int
- الكود:
int [] A;
أو يمكنك تبديل موضع [] مع اسم المصفوفة على النحو التالى :
- الكود:
int A [] ;
بهذا كما موضح هو إعلاه قنما بإنشاء المصفوفة A ولكن لا يمكن تخزين بيانات بها بعد، بمعنى أنه تم إنشاء اسم متغير يشير إلى #null (لا شيء) في الذاكرة لذلك يجب علينا تهئية تلك المصفوفة وذلك بتحديد حجمها ويتم ذلك بعده طرق :
باستخدام الكلمة الاساسية #new ، وتعيينه إلى نوع بيانات المصفوفة على النحو التالى :
- الكود:
int [] A;
A[] = new int[5];
أو يمكن تهئية المصفوفة و تحديد حجمها في سطر واحد كالتالي:
الوصول إلى عنصر محدد في المصفوفات :
وكما هو ظاهر اعلاه كل المصفوفات عناصرها مرقمة من 0 إلى (حجم المصفوفة -1) ويسمى هذا الترقيم بال #index فهو بمثابة عنوان للعنصر وبه نستطيع الوصول إليه.
مثلا المصفوفة A التى تم إنشائها وتحديد حجمها 5 لتخزين خمس أرقام فسيكون ال #index لها من 0 إلى 4، إذ أن العنصر الأول سيكون متواجد عند ال#index رقم 0 والعنصر الثاني عند ال#index رقم 1، وهكذا إلى نهاية المصفوفة....فمثلا لو أردنا وضع القيمة 10 في المخزن الاول للمصفوفة سنقوم بكتابة الشفرة على النحو التالى :
- الكود:
;A[0]=10
مثال اكثر توضيحا :
إنشاء مصفوفة باسم #month_days حجمها يتسع لعدد 12 مخزن ليتم تخزين عدد الايام لكل شهر ميلادى ..ثم طباعة عدد ايام شهر ابريل على النحو التالى :
- الكود:
public static void main(String args[]) {
int month_days[];
month_days = new int[12];
month_days[0] = 31;
month_days[1] = 28;
month_days[2] = 31;
month_days[3] = 30;
month_days[4] = 31;
month_days[5] = 30;
month_days[6] = 31;
month_days[8] = 30;
month_days[9] = 31;
month_days[10] = 30;
month_days[11] = 31;
System.out.println("April has " + month_days[3] + " days.");
}
}
المخرجات :
April has 30 days
و على الرغم من ذلك يمكنك يمكن تهيئة المصفوفة و تحديد حجمها عندما يتم الإعلان عنها مباشرة بتمرير القيم او العناصر المراد تخزينها بها في مُهيئ المصفوفة .حيث سيتم إنشاء المصفوفة تلقائيًا بشكل يكفي لاحتواء عدد العناصر التي تحددها في مُهيئ الصفيف. على النحو التالى :
مثال :
- الكود:
class MyArray{
public static voide main(String args[]){
int month_days[ ] = {31,28,31,30,31,30,31,30,31,30,31};
System.out.println("April has " + month+days[3] + "days.");
}
}
المخرجات :
April has 30 days
المصفوفة متعددة الأبعاد (ذات البعدين) Multidimensional array
ويمكن القول بأن المصفوفة ذات البعدين هي عبارة عن جدول يحتوي على صفوف وأعمدة .والصيغة العامة لهذه المصفوفة كالتالي :
ويتعب نفس طريقة انشاء و تهيئة المصفوفة أحادية البعد
تمرير مصفوفة إلى طريقة
يمكننا أيضًا تمرير المصفوفات إلى الطرق كما يمكننا تمرير قيم النوع البدائي إلى الأساليب...على النحو التالى :
- الكود:
public class PMethods{
public static void display(int y[])
{
System.out.println(y[0]);
System.out.println(y[1]);
System.out.println(y[2]);
}
public static void main(String args[])
{
int x[] = { 1, 2, 3 };
display(x);
}
}
- في الإثنين يناير 21, 2019 8:47 pm
- ابحث في: أساسيات اللغة Java Basics
- موضوع: المصفوفات فى الجافا Java Arrays
- المساهمات: 0
- مشاهدة: 1430
أمس في 8:56 pm من طرف moslema_r
» شركة مكافحة حشرات في راس الخيمة
أمس في 8:34 pm من طرف moslema_r
» تطبيقIncogniton لإدارة ملفات تعريف متعددة للمتصفح
الأربعاء أبريل 24, 2024 3:51 pm من طرف زاكااا
» افضل شركة مكافحة النمل الابيض بالرياض
الإثنين أبريل 22, 2024 9:41 pm من طرف moslema_r
» Exemplary Сasual Dating - Verified Women
الخميس أبريل 18, 2024 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
الخميس أبريل 18, 2024 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
الخميس أبريل 18, 2024 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy
» ساعدوني وفهموني help me
الجمعة مارس 29, 2024 8:37 am من طرف linesoft