الفرق بين المراجعتين لصفحة: «Kotlin/Array»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 60: | سطر 60: | ||
=== <code>[[Kotlin/collections/associateTo|associateTo]]</code> === | === <code>[[Kotlin/collections/associateTo|associateTo]]</code> === | ||
تعيد الدالة <code>associateTo()</code> قاموسًا متغيرا (mutable map) يحتوي ناتج تمرير عناصر المصفوفة أو المجموعة (<code>[[Kotlin/collections|Collection]]</code>) إلى الدالة<code>transform</code>. | |||
=== <code>[[Kotlin/collections/average|average]]</code> === | === <code>[[Kotlin/collections/average|average]]</code> === | ||
تعيد الدالة <code>average()</code> متوسط (average) عناصر المصفوفة أو المجموعة (<code>[[Kotlin/collections|Collection]]</code>). | |||
=== <code>[[Kotlin/collections/binarySearch|binarySearch]]</code> === | === <code>[[Kotlin/collections/binarySearch|binarySearch]]</code> === | ||
تبحث الدالة <code>binarySearch()</code> عن عنصر في المجموعة أو مجال من المجموعة (<code>[[Kotlin/collections|Collection]]</code>) التي استُدعيت عبرها باستخدام خوارزمية البحث الثنائي (binary search algorithm)، يُفترض أن تكون المجموعة مرتبة وفق المُقارِن <code>comparator</code>وإلا فستكون النتيجة غير مُحدّدة. | |||
=== <code>[[Kotlin/collections/component1|component1]]</code> === | === <code>[[Kotlin/collections/component1|component1]]</code> === | ||
تعيد الدالة <code>component1()</code> العنصر الأول من المصفوفة التي استُدعيت عبرها، وفي حال استُدعيت عبر قاموس فستعيد مركبة المفتاح (key component) الخاصة بمدخل القاموس (map entry)، وتسمح هذه الدالة باستخدام التصريحات التفكيكية (destructuring declarations) عند العمل على القواميس. | |||
=== <code>[[Kotlin/collections/contains|contains]]</code> === | === <code>[[Kotlin/collections/contains|contains]]</code> === | ||
تعيد الدالة <code>contains()</code> القيمة <code>true</code> إن كانت المصفوفة أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت عبرها تحتوي العنصر الممرّر إليها، وفي حال استُدعيت عبر قاموس فتعيد <code>true</code> إن كان ذلك القاموس يحتوي ذلك العنصر كمفتاح (<code>key</code>)، وتعيد <code>false</code> خلاف ذلك. | |||
=== <code>[[Kotlin/collections/contentDeepEquals|contentDeepEquals]]</code> === | === <code>[[Kotlin/collections/contentDeepEquals|contentDeepEquals]]</code> === | ||
تعيد الدالة <code>contentDeepEquals()</code> القيمة <code>true</code> إن كانت المصفوفتان المحددتان متساويتان بعُمق، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيد <code>false</code> خلاف ذلك. | |||
=== <code>[[Kotlin/collections/contentDeepHashCode|contentDeepHashCode]]</code> === | === <code>[[Kotlin/collections/contentDeepHashCode|contentDeepHashCode]]</code> === | ||
تعيد الدالة <code>contentDeepHashCode()</code>التكويد (hash code) استنادًا إلى محتوى <nowiki/>[[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها كما لو كانت لائحة، <nowiki/>[[Kotlin/Array|المصفوفات]]<nowiki/>المُتشعبة تعامل كاللوائح هي كذلك. | |||
=== <code>[[Kotlin/collections/contentDeepToString|contentDeepToString]]</code> === | === <code>[[Kotlin/collections/contentDeepToString|contentDeepToString]]</code> === | ||
تعيد الدالة<code>contentDeepToString()</code>تمثيلًا نصيًا لمحتوى <nowiki/>[[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها كما لو كانت لائحة، <nowiki/>[[Kotlin/Array|المصفوفات]] المُتشعبة تعامل كاللوائح هي كذلك. | |||
=== <code>[[Kotlin/collections/contentEquals|contentEquals]]</code> === | === <code>[[Kotlin/collections/contentEquals|contentEquals]]</code> === | ||
تعيد الدالة <code>contentEquals()</code> االقيمة <code>true</code> إن كانت <nowiki/>[[Kotlin/Array|المصفوفتان]] المحددتان متساويتان بنيويًا (''structurally'' equal)، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيد <code>false</code> خلاف ذلك. | |||
=== <code>[[Kotlin/collections/contentHashCode|contentHashCode]]</code> === | === <code>[[Kotlin/collections/contentHashCode|contentHashCode]]</code> === | ||
تعيد الدالة <code>contentHashCode()</code>التكويد (hash code) استنادًا إلى محتوى <nowiki/>[[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها كما لو كانت لائحة. | |||
=== <code>[[Kotlin/collections/contentToString|contentToString]]</code> === | === <code>[[Kotlin/collections/contentToString|contentToString]]</code> === | ||
تعيد الدالة<code>contentToString()</code>تمثيلًا نصيًا لمحتوى <nowiki/>[[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها كما لو كانت لائحة. | |||
=== <code>[[Kotlin/collections/copyOf|copyOf]]</code> === | === <code>[[Kotlin/collections/copyOf|copyOf]]</code> === | ||
تعيد الدالة<code>copyOf()</code> نسخة من <nowiki/>[[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها. مع إمكانية تمرير <code>newSize</code> كمعامل (parameter) لتحديد حجم المصفوفة الناتجة. | |||
=== <code>[[Kotlin/collections/copyOfRange|copyOfRange]]</code> === | === <code>[[Kotlin/collections/copyOfRange|copyOfRange]]</code> === | ||
تعيد الدالة<code>copyOfRange()</code> <nowiki/>[[Kotlin/Array|مصفوفة]] جديدة، والتي هي نسخة من مجال (range) من <nowiki/>[[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها. | |||
=== <code>[[Kotlin/collections/count|count]]</code> === | === <code>[[Kotlin/collections/count|count]]</code> === | ||
تعيد الدالة<code>count()</code>عدد عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] أو <nowiki/>[[Kotlin/Array|القاموس]] التي استُدعيت عبرها، مع إمكانية تمرير دالة منطقية (<code>predicate</code>) كمعامل (parameter)، وحينها ستعيد عدد العناصر التي تحقق الدالة المنطقية <code>predicate</code>. | |||
=== <code>[[Kotlin/collections/distinct|distinct]]</code> === | === <code>[[Kotlin/collections/distinct|distinct]]</code> === | ||
تعيد الدالة<code>distinct()</code> لائحة تحتوي عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] التي استُدعيت عبرها بدون تكرار مع احترام ظهور تلك العناصر في <nowiki/>[[Kotlin/Array|المصفوفة]] أو<nowiki/>[[Kotlin/Array|المجموعة]]. | |||
=== <code>[[Kotlin/collections/distinctBy|distinctBy]]</code> === | === <code>[[Kotlin/collections/distinctBy|distinctBy]]</code> === | ||
تعيد الدالة<code>distinctBy()</code> لائحة تحتوي عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] التي استُدعيت عبرها والتي تختلف نتائج تطبيق الدالة (<code>selector</code>) عليها، ومع احترام ظهور تلك العناصر في <nowiki/>[[Kotlin/Array|المصفوفة]] أو<nowiki/>[[Kotlin/Array|المجموعة]]. | |||
=== <code>[[Kotlin/collections/drop|drop]]</code> === | === <code>[[Kotlin/collections/drop|drop]]</code> === | ||
تعيد الدالة<code>drop()</code> لائحة تحتوي جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] التي استُدعيت عبرها باستثناء العناصر الأولى المحددة بالمعامل المُمرّر <code>n</code>. | |||
=== <code>[[Kotlin/collections/dropLast|dropLast]]</code> === | === <code>[[Kotlin/collections/dropLast|dropLast]]</code> === | ||
تعيد الدالة<code>dropLast()</code> لائحة تحتوي جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] التي استُدعيت عبرها باستثناء العناصر الأخيرة المحددة بالمعامل المُمرّر <code>n</code>. | |||
=== <code>[[Kotlin/collections/dropLastWhile|dropLastWhile]]</code> === | === <code>[[Kotlin/collections/dropLastWhile|dropLastWhile]]</code> === | ||
تعيد الدالة<code>dropLastWhile()</code> لائحة تحتوي جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] التي استُدعيت عبرها باستثناء العناصر الأخيرة التي تحقق الشرط المنطقي <code>predicate</code> المُمرّر إلى الدالة. | |||
=== <code>[[Kotlin/collections/dropWhile|dropWhile]]</code> === | === <code>[[Kotlin/collections/dropWhile|dropWhile]]</code> === | ||
تعيد الدالة<code>dropWhile()</code> لائحة تحتوي جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] التي استُدعيت عبرها باستثناء العناصر الأولى التي تحقق الشرط المنطقي<code>predicate</code> المُمرّر إلى الدالة. | |||
=== <code>[[Kotlin/collections/elementAt|elementAt]]</code> === | === <code>[[Kotlin/collections/elementAt|elementAt]]</code> === | ||
تعيد الدالة<code>elementAt()</code> العنصر الموجود عند الفهرس (index) المحدد من <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] التي استُدعيت عبرها، وفي حال كان ذلك الفهرس خارج حدود <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] فستُطلق <nowiki/>[[Kotlin/exceptions|استثناءً]] [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-index-out-of-bounds-exception/index.html IndexOutOfBoundsException]. | |||
=== <code>[[Kotlin/collections/elementAtOrElse|elementAtOrElse]]</code> === | === <code>[[Kotlin/collections/elementAtOrElse|elementAtOrElse]]</code> === | ||
=== <code>[[Kotlin/collections/elementAtOrNull|elementAtOrNull]]</code> === | === <code>[[Kotlin/collections/elementAtOrNull|elementAtOrNull]]</code> === |
مراجعة 18:10، 28 يونيو 2018
الدوال البانية
<int>
يعيد التابع Any()
نسخةً من الصنف Any
والذي هو الجذر الرئيسيّ في الهرميّة العامّة لأيّ صنفٍ مُستخدَمٍ أثناء البرمجة في Kotlin؛ أي أنّ كلَّ صنفٍ سيكون له الصنف الأعلى (superclass) Any
.
الدوال
size
تعبِّر الخاصيّة size
عن عدد العناصر الموجودة في المصفوفة (array).
iterator
يعيد التابع Array.iterator()
عنصرًا تكراريًّا (iterator) بهدف تكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة.
get
يعيد التابع Array.get()
قيمة العنصر في المصفوفة عند الفهرس (index) المُحدَّد، ويمكن أيضًا استدعاء هذا التابع باستخدام معامل الفهرسة (index operator) المتمثل بالقوسين []
بالشكل:
الدوال الموروثة
equals
تبين الدالة equals()
إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعيت عبره.
hashCode
يعيد التابع hashCode()
قيمة الشيفرة hash code الخاصّة بالكائن الذي استُدعي عبره.
toString
يعيد التابع toString()
تمثيلًا نصيًا للكائن الذي يُستدعى عبره.
الخاصيات الإضافية (Extension Properties)
indices
تُستخدَم هذه الخاصيّة للحصول على الفهارس الصحيحة (valid indices) للمصفوفة أو المجموعة (collection).
lastIndex
تُستخدَم هذه الخاصيّة للحصول على الفهرس (index) الأخير للمصفوفة أو القائمة (list)، أو القيمة -1
إن كانت المصفوفة أو القائمة فارغةً.
الدوال الإضافية (Extension Functions)
all
تُعيد الدالة all()
القيمة true
إن كانت كافّة عناصر المصفوفة أو المجموعة (collection) التي استُدعيت عبرها تحقق العبارة المنطقية (predicate) المُحدَّدة، أو تعيد القيمة false
بخلاف ذلك.
any
يختلف سلوك الدالة any()
بحسب طريقة استدعائها، وسنناقش هذه الحالات تباعًا.
asIterable
تُنشئ الدالة asIterable()
نسخة تكرارية (Iterable instance) والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثلfor
).
asList
تُعيد الدالة asList()
لائحة (list) والتي تُغلّف المصفوفة الاصلية التي استُدعيت عبرها.
asSequence
تُنشئ الدالة asSequence()
نسخة من الواجهة Sequence
والتي تُغلّف المصفوفة الاصلية وتعيد عناصرها عندما تُستخدم في حلقات التكرار (مثلfor
).
associate
تعيد الدالة associate()
قاموسًا (map) يحتوي أزواجًا "مفتاح-قيمة" ناتجة عن تمرير عناصر المصفوفة أو المجموعة (Collection
) إلى الدالةtransform
.
associateBy
تعيد الدالة associateBy()
قاموسًا (map) يحتوي ناتج تمرير عناصر المصفوفة أو المجموعة (Collection
) إلى الدالة valueTransform
مُفهرسة بناتج تمرير عناصر المصفوفة أو المجموعة إلى الدالة keySelector
.
associateByTo
تعيد الدالة associateByTo()
قاموسًا متغيرا (mutable map) يحتوي ناتج تمرير عناصر المصفوفة أو المجموعة (Collection
) إلى الدالةvalueTransform
مُفهرسة بناتج تمرير عناصر المصفوفة أو المجموعة إلى الدالة keySelector
.
associateTo
تعيد الدالة associateTo()
قاموسًا متغيرا (mutable map) يحتوي ناتج تمرير عناصر المصفوفة أو المجموعة (Collection
) إلى الدالةtransform
.
average
تعيد الدالة average()
متوسط (average) عناصر المصفوفة أو المجموعة (Collection
).
binarySearch
تبحث الدالة binarySearch()
عن عنصر في المجموعة أو مجال من المجموعة (Collection
) التي استُدعيت عبرها باستخدام خوارزمية البحث الثنائي (binary search algorithm)، يُفترض أن تكون المجموعة مرتبة وفق المُقارِن comparator
وإلا فستكون النتيجة غير مُحدّدة.
component1
تعيد الدالة component1()
العنصر الأول من المصفوفة التي استُدعيت عبرها، وفي حال استُدعيت عبر قاموس فستعيد مركبة المفتاح (key component) الخاصة بمدخل القاموس (map entry)، وتسمح هذه الدالة باستخدام التصريحات التفكيكية (destructuring declarations) عند العمل على القواميس.
contains
تعيد الدالة contains()
القيمة true
إن كانت المصفوفة أو المجموعة التي استُدعيت عبرها تحتوي العنصر الممرّر إليها، وفي حال استُدعيت عبر قاموس فتعيد true
إن كان ذلك القاموس يحتوي ذلك العنصر كمفتاح (key
)، وتعيد false
خلاف ذلك.
contentDeepEquals
تعيد الدالة contentDeepEquals()
القيمة true
إن كانت المصفوفتان المحددتان متساويتان بعُمق، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيد false
خلاف ذلك.
contentDeepHashCode
تعيد الدالة contentDeepHashCode()
التكويد (hash code) استنادًا إلى محتوى المصفوفة التي استُدعيت عبرها كما لو كانت لائحة، المصفوفاتالمُتشعبة تعامل كاللوائح هي كذلك.
contentDeepToString
تعيد الدالةcontentDeepToString()
تمثيلًا نصيًا لمحتوى المصفوفة التي استُدعيت عبرها كما لو كانت لائحة، المصفوفات المُتشعبة تعامل كاللوائح هي كذلك.
contentEquals
تعيد الدالة contentEquals()
االقيمة true
إن كانت المصفوفتان المحددتان متساويتان بنيويًا (structurally equal)، أي أنهما تحتويان على نفس عدد العناصر ونفس العناصر بنفس الترتيب، وتعيد false
خلاف ذلك.
contentHashCode
تعيد الدالة contentHashCode()
التكويد (hash code) استنادًا إلى محتوى المصفوفة التي استُدعيت عبرها كما لو كانت لائحة.
contentToString
تعيد الدالةcontentToString()
تمثيلًا نصيًا لمحتوى المصفوفة التي استُدعيت عبرها كما لو كانت لائحة.
copyOf
تعيد الدالةcopyOf()
نسخة من المصفوفة التي استُدعيت عبرها. مع إمكانية تمرير newSize
كمعامل (parameter) لتحديد حجم المصفوفة الناتجة.
copyOfRange
تعيد الدالةcopyOfRange()
مصفوفة جديدة، والتي هي نسخة من مجال (range) من المصفوفة التي استُدعيت عبرها.
count
تعيد الدالةcount()
عدد عناصر المصفوفة أو المجموعة أو القاموس التي استُدعيت عبرها، مع إمكانية تمرير دالة منطقية (predicate
) كمعامل (parameter)، وحينها ستعيد عدد العناصر التي تحقق الدالة المنطقية predicate
.
distinct
تعيد الدالةdistinct()
لائحة تحتوي عناصر المصفوفة أو المجموعة التي استُدعيت عبرها بدون تكرار مع احترام ظهور تلك العناصر في المصفوفة أوالمجموعة.
distinctBy
تعيد الدالةdistinctBy()
لائحة تحتوي عناصر المصفوفة أو المجموعة التي استُدعيت عبرها والتي تختلف نتائج تطبيق الدالة (selector
) عليها، ومع احترام ظهور تلك العناصر في المصفوفة أوالمجموعة.
drop
تعيد الدالةdrop()
لائحة تحتوي جميع عناصر المصفوفة أو المجموعة التي استُدعيت عبرها باستثناء العناصر الأولى المحددة بالمعامل المُمرّر n
.
dropLast
تعيد الدالةdropLast()
لائحة تحتوي جميع عناصر المصفوفة أو المجموعة التي استُدعيت عبرها باستثناء العناصر الأخيرة المحددة بالمعامل المُمرّر n
.
dropLastWhile
تعيد الدالةdropLastWhile()
لائحة تحتوي جميع عناصر المصفوفة أو المجموعة التي استُدعيت عبرها باستثناء العناصر الأخيرة التي تحقق الشرط المنطقي predicate
المُمرّر إلى الدالة.
dropWhile
تعيد الدالةdropWhile()
لائحة تحتوي جميع عناصر المصفوفة أو المجموعة التي استُدعيت عبرها باستثناء العناصر الأولى التي تحقق الشرط المنطقيpredicate
المُمرّر إلى الدالة.
elementAt
تعيد الدالةelementAt()
العنصر الموجود عند الفهرس (index) المحدد من المصفوفة أو المجموعة التي استُدعيت عبرها، وفي حال كان ذلك الفهرس خارج حدود المصفوفة أو المجموعة فستُطلق استثناءً IndexOutOfBoundsException.