Latest web development tutorials

صفائف جافا

واحد مجموعة لكل لغة برمجة لهياكل البيانات الهامة، وبطبيعة الحال، لغات مختلفة وعملية تحقيق مجموعة ليست هي نفسها.

توفر لغة جافا وتستخدم مجموعة لتخزين عناصر حجم ثابت من نفس النوع.

يمكنك تعريف مجموعة من المتغيرات، مثل أرقام [100] بدلا من التصريحات المباشرة 100 المتغيرات المستقلة number0، number1، و ....، number99.

هذا البرنامج التعليمي سوف أعرض يعلن جافا خلق مجموعة والتهيئة، ويعطي قانون المقابلة.


إعلان متغير صفيف

يجب عليك أولا أن يعلن متغير صفيف، يمكنك استخدام مجموعة في البرنامج. هنا هو بناء الجملة لإعلان متغير صفيف:

dataType[] arrayRefVar;   // 首选的方法

或

dataType arrayRefVar[];  // 效果相同,但不是首选方法

ملاحظة: ننصح باستخدام نوع البيانات [] بيان أسلوب arrayRefVar تعلن متغير صفيف. نوع البيانات arrayRefVar [] أسلوب المستمدة من C / C ++ لغة، ويستخدم جافا لجعل المبرمجين C / C ++ يمكن أن نفهم بسرعة لغة جافا.

أمثلة

هنا هو مثال التعليمة البرمجية على حد سواء في بناء الجملة:

double[] myList;         // 首选的方法

或

double myList[];         //  效果相同,但不是首选方法

إنشاء صفيف

لغة جافا باستخدام مشغل جديد لإنشاء مجموعة، بناء الجملة كما يلي:

arrayRefVar = new dataType[arraySize];

البيانات في بناء الجملة أعلاه تفعل شيئين:

  • أولا، استخدام نوع البيانات [arraySize] يخلق صفيف.
  • ثانيا، يتم تعيين إشارة إلى مجموعة تم إنشاؤها حديثا إلى arrayRefVar متغير.

إعلان متغير مجموعة، مجموعة يمكن استخدامها لإنشاء وإكمال عبارة على النحو التالي:

dataType[] arrayRefVar = new dataType[arraySize];

وبالإضافة إلى ذلك، يمكنك إنشاء مجموعة باستخدام الطريقة التالية.

dataType[] arrayRefVar = {value0, value1, ..., valuek};

يتم الوصول إلى عناصر المصفوفة من خلال فهرس. يبدأ مؤشر مجموعة من 0، وبالتالي فإن قيمة المؤشر من 0 إلى arrayRefVar.length-1.

أمثلة

أولا، البيان التالي يعلن على قائمتي متغير مجموعة، ثم خلق 10 عنصر يحتوي على مجموعة من نوع مزدوج، وإشارته إلى تعيين متغير قائمتي.

public class TestArray {

   public static void main(String[] args) {
      // 数组大小
      int size = 10;
      // 定义数组
      double[] myList = new double[size];
      myList[0] = 5.6;
      myList[1] = 4.5;
      myList[2] = 3.3;
      myList[3] = 13.2;
      myList[4] = 4.0;
      myList[5] = 34.33;
      myList[6] = 34.0;
      myList[7] = 45.45;
      myList[8] = 99.993;
      myList[9] = 11123;
      // 计算所有元素的总和
      double total = 0;
      for (int i = 0; i < size; i++) {
         total += myList[i];
      }
      System.out.println("总和为: " + total);
   }
}

إخراج المثال أعلاه هو:

总和为: 11367.373

الصورة التالية يصور قائمتي مجموعة. هنا قائمتي ديه 10 عنصرا مجموعة مزدوج، مؤشره 0-9.

جافا وصف هيكل مجموعة


العمل مع صفائف

يتم تحديد حجم ونوع من العناصر مجموعة من المصفوفة، وذلك عندما تجهيز عناصر مجموعة، ونحن عادة استخدام حلقة أو foreach الأساسية الحلقة.

مثال

هذا المثال يوضح كيفية إنشاء كاملة، تهيئة والتلاعب المصفوفات:

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // 打印所有数组元素
      for (int i = 0; i < myList.length; i++) {
         System.out.println(myList[i] + " ");
      }
      // 计算所有元素的总和
      double total = 0;
      for (int i = 0; i < myList.length; i++) {
         total += myList[i];
      }
      System.out.println("Total is " + total);
      // 查找最大元素
      double max = myList[0];
      for (int i = 1; i < myList.length; i++) {
         if (myList[i] > max) max = myList[i];
      }
      System.out.println("Max is " + max);
   }
}

الأمثلة المذكورة أعلاه جمعت النتائج على النحو التالي:

1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

حلقة foreach

JDK 1.5 قدم نوعا جديدا من حلقة، ودعا حلقة foreach أو تعزيز الدورة الدموية، لا يتم استخدام ذلك في ظل ظروف من خلال منخفض الصفيف.

مثال

يستخدم هذا المثال لعرض كافة العناصر في قائمتي مجموعة:

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // 打印所有数组元素
      for (double element: myList) {
         System.out.println(element);
      }
   }
}

الأمثلة المذكورة أعلاه جمعت النتائج على النحو التالي:

1.9
2.9
3.4
3.5

مجموعة بوصفها وظيفة للمعلمات

يمكن أن ينتقل صفائف كمعلمة إلى الأسلوب. على سبيل المثال، والمثال التالي هو الأسلوب العناصر الباحث مجموعة في الطباعة.

public static void printArray(int[] array) {
  for (int i = 0; i < array.length; i++) {
    System.out.print(array[i] + " ");
  }
}

ويدعو المثال التالي طريقة printArray لطباعة 3،1،2،6،4 و 2:

printArray(new int[]{3, 1, 2, 6, 4, 2});

مجموعة كقيمة عودة وظيفة

public static int[] reverse(int[] list) {
  int[] result = new int[list.length];

  for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
    result[j] = list[i];
  }
  return result;
}

أمثلة على النتيجة أعلاه في مجموعة كقيمة عودة وظيفة.


الطبقة صفائف

الطبقة java.util.Arrays يمكن بسهولة التلاعب المصفوفات، فإنه يوفر كافة أساليب جامدة. أنه يحتوي على الميزات التالية:

  • على احالة مجموعة: لملء الأسلوب.
  • فرز صفيف: نوع من طريقة، في ترتيب تصاعدي.
  • مقارنة صفائف: ويساوي الطريقة نسبيا القيم عنصر مجموعة متساوية.
  • البحث عن عنصر صفيف: هل يمكن فرز مجموعة من عملية البحث الثنائية بالطرق binarySearch.

تعليمات محددة يرجى الاطلاع على الجدول التالي:

لا. طريقة والوصف
1 العام ثابت كثافة العمليات binarySearch (كائن [] لذلك، مفتاح كائن)
البحث خوارزمية ثنائية باستخدام كائن في البحث مجموعة معينة لقيمة معينة (بايت، كثافة العمليات، انقر نقرا، وما إلى ذلك). يجب فرز مجموعة قبل الدعوة. إذا ويرد قيمة البحث في صفيف، مؤشر العائد الرئيسية البحث؛ وإلا، (- (نقطة الإدراج) - 1).
2 العامة متساوين منطقية ثابتة (طويلة [] لذلك، طويلة [] A2)
إذا اثنين من صفائف محددة من فترة طويلة متساوية مع بعضها البعض، فإنها ترجع صحيح. إذا كان كل من المصفوفات تحتوي على نفس العدد من العناصر، واثنين من صفائف جميع أزواج المقابلة من عناصر متساوية، تعتبر المصفوفات اثنين على قدم المساواة. وبعبارة أخرى، إذا كان صفائف اثنين في نفس الترتيب الذي يحتوي على نفس العناصر في صفائف هما على قدم المساواة. الأمر نفسه ينطبق على جميع أنواع البيانات الأساسية الأخرى (بايت، قصيرة، كثافة العمليات، وما إلى ذلك).
3 العام ثابت الفراغ التعبئة (كثافة العمليات [] لذلك، الباحث فال)
قيمة كثافة بتعيين مجموعة كثافة محددة من النطاق المحدد لكل عنصر. الأمر نفسه ينطبق على جميع أنواع البيانات الأساسية الأخرى (بايت، قصيرة، كثافة العمليات، وما إلى ذلك).
4 العام نوع باطل ثابت (كائن [] أ)
مجموعة محددة من الكائنات في ترتيب تصاعدي وفقا للترتيب الطبيعي من عناصره. الأمر نفسه ينطبق على جميع أنواع البيانات الأساسية الأخرى (بايت، قصيرة، كثافة العمليات، وما إلى ذلك).