الواجهة MatchGroupCollection
في Kotlin
تمثل الواجهة MatchGroupCollection
مجموعةً (collection) من الفئات المرصودة (captured groups) عند إجراء مطابقة واحدة لتعبير نمطي ما.
حجم المجموعة يساوي groupCount + 1
، إذ يمثل groupCount
عدد الفئات (groups) في التعبير النمطي. الفئات مُفهرسة بدءًا من 1 وحتى groupCount
، والفئة ذات الفهرس 0 تقابل كل ما تطابق.
يمكن أن يساوي بعض عناصر المجموعة القيمة العدمية (null) في حال كانت الفئة المقابلة في التعبير النمطي اختيارية، ولم يُرصَد أي تطابق من قبل تلك الفئة.
interface MatchGroupCollection : Collection<MatchGroup?>
الدوال
get
تعيد هذه الدالة نسخةً من الصنف MatchGroup
إن كانت المجموعة التي تحمل الاسم المُمرّر إليها متطابقَة.
الوارثات (Inheritors)
MatchNamedGroupCollection
توسِّع هذه الواجهة الصنف MatchGroupCollection
عبر تعريف طريقةٍ لجلب المجموعات المتطابقة (matched groups) عن طريق أسمائها عندما يدعم regex
ذلك.
الخاصيات الإضافية (Extension Properties)
indices
تُستخدَم هذه الخاصيّة للحصول على الفهارس الصحيحة (valid indices) للمصفوفة أو المجموعة (collection).
الدوال الإضافية (Extension Functions)
all
تتحقق الدالة all()
إن كانت كافّة عناصر المصفوفة أو المجموعة (collection) التي استُدعيت عبرها تطابق شرطًا منطقيًّا محدَّدًا.
any
يختلف سلوك الدالة any()
بحسب طريقة استدعائها، وسنناقش هذه الحالات تباعًا.
asIterable
تُنشِئ الدالة asIterable()
نسخةً تكراريّةً (iterable instance) تُغلّف (wrap) المصفوفة الأصلية وتعيد عناصرَها عندما تُستخدَم في حلقات التكرار (مثل for
).
asSequence
تُنشِئ الدالة asSequence()
نسخةً (instance) من النوع sequence
والتي تُغلّف المصفوفة الأصلية وتعيد عناصرها عندما تُستخدَم في حلقات التكرار (مثل حلقة for
).
associate
تعيد الدالة associate()
خريطةً (map) تحوي أزواجًا من "مفتاح/قيمة" ناتجة عن تمرير عناصر المصفوفة أو المجموعة (Collection) إلى الدالة المررة إليها.
associateBy
تعيد الدالة associateBy()
خريطةً (map) مكونة من الأزواج "مفتاح/قيمة"، إذ يكون المفتاح (key) هو الناتج الذي تعيده الدالة keySelector
الممررة إليها وتكون القيمة (value) المقابلة لذلك المفتاح هي إمَّا عناصر المصفوفة أو المجموعة المعطاة أو الناتج الذي تعيده الدالة valueTransform
الممررة.
associateByTo
تشبه الدالة associateByTo()
الدالة associateBy()
تمامًا باستثناء أنها تضيف الناتج الذي تعيده إلى خريطة موجودة مسبقًا.
associateTo
تشبه الدالة associateTo()
الدالة associate()
تمامًا باستثناء أنها تضيف الناتج الذي تعيده إلى خريطة موجودة مسبقًا.
chunked
contains
تتحقق الدالة contains()
إن كانت المصفوفة أو المجموعة التي استُدعيت معها تحتوي على العنصر الممرّر إليها، أو إن كانت الخريطة التي استدعيت معها تحتوي على ذلك العنصر كمفتاح (key).
containsAll
count
تعيد الدالة count()
عدد جميع عناصر المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها أو العناصر التي تحقق شرطًا معينًا.
distinct
تحذف الدالة distinct()
العناصر المتكررة الموجودة في المصفوفة أو المجموعة التي استُدعيت معها وتعيد الناتج في قائمة.
distinctBy
تعيد الدالة distinctBy()
قائمة تحتوي على العناصر الموجودة في المصفوفة أو المجموعة التي استُدعيت معها والتي تعطي نتيجة مختلفة عند تطبيق الدالة selector
عليها فقط.
drop
تعيد الدالة drop()
قائمة تحوي جميع عناصر المصفوفة أو المجموعة التي استُدعيت معها باستثناء أول n
عنصر.
dropWhile
تعيد الدالة dropWhile()
قائمةً تحوي جميع عناصر المصفوفة أو المجموعة التي استُدعيت معها باستثناء العناصر الأولى التي تحقق شرطًا معيَّنًا.
elementAt
تجلب الدالة elementAt()
عنصرًا ذي فهرس معيَّن من المصفوفة أو المجموعة التي استُدعيت معها.
elementAtOrElse
تجلب الدالة elementAtOrElse()
عنصرًا ذي فهرس معيَّن من المصفوفة أو المجموعة التي استُدعيت معها. إن كان الفهرس المعطى خارج حدود المصفوفة أو المجموعة، فستُعيد الدالة ناتج استدعاء دالة معينة.
elementAtOrNull
تعيد الدالةelementAtOrNull()
العنصر الموجود عند الفهرس (index) المحدد من المصفوفة أو المجموعة التي استُدعيت عبرها، وفي حال كان ذلك الفهرس خارج حدود المصفوفة أو المجموعة فستُعيد القيمة المعدومة null
.
filter
ترشِّح الدالة filter()
عناصر المصفوفة أو المجموعة أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.
filterIndexed
ترشِّح الدالة filterIndexed()
عناصر المصفوفة أو المجموعة المعطاة بناءً على فهرس العنصر وقيمته.
filterIndexedTo
تشبه الدالة filterIndexedTo()
الدالة filterIndexed()
تمامًا باستثناء أنها تضيف الناتج إلى كائن موجود مسبقًا بدلًا من أن تعيده.
filterIsInstance
تعيد الدالة filterIsInstance()
قائمة تحوي عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن.
filterIsInstanceTo
تضيف الدالة filterIsInstanceTo()
عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن إلى المجموعة المتغيرة destination
المُمرّرة إليها.
filterNot
تعيد الدالة filterNot()
قائمةً تحوي عناصر المصفوفة أو المجموعة التي لم تحقق شرطًا منطقيًّا محدَّدًا.
filterNotNull
تعيد الدالة filterNotNull()
جميع عناصر المصفوفة أو المجموعة المعطاة باستثناء تلك ذات القيمة null
.
filterNotNullTo
تشبه الدالة filterNotNullTo()
الدالة filterNotNull()
في جميع النواحي باستثناء أنَّها تضيف الناتج الذي تعيده إلى المعامل المُمرَّر إليها.
filterNotTo
تشبه الدالة filterNotTo()
الدالة filterNot()
في جميع النواحي باستثناء أنَّها تضيف الناتج المعاد إلى المعامل الممرَّر إليها.
filterTo
تشبه هذه الدالة filterTo()
الدالة filter()
في جميع النواحي باستثناء أنها تضيف الناتج إلى المعامل المُمرَّر إليها.
find
تبحث الدالة find()
على عنصر محدَّد ضمن عناصر المصفوفة أو المجموعة التي استُدعيت معها ثمَّ تعيد أول ظهور له.
findLast
تبحث الدالة findLast()
على عنصر محدَّد ضمن عناصر المصفوفة أو المجموعة التي استُدعيت معها ثمَّ تعيد آخر ظهور له.
first
تجلب الدالة first()
أول عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها إن لم يمرر إليها أي شيء، أو أول عنصر يحق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.
firstOrNull
تجلب الدالة firstOrNull()
أول عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها إن لم يُمرَّر إليها أي شيء، أو أول عنصر يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.
flatMap
تعيد الدالة flatMap()
قائمةً تضم ناتج تطبيق الدالة المُمرّرة إليها على عناصر المصفوفة، أو المجموعة، أو الخريطة التي استُدعيت معها.
flatMapTo
تشبه الدالة flatMapTo()
الدالة flatMap()
تمامًا باستثناء أنها تضيف الناتج المعاد إلى كائن موجود مسبقًا بدلًا من إعادته فقط.
fold
تجمع الدالة fold()
تراكميًّا ناتج تطبيق عملية معينة على قيمة كل عنصر من عناصر الكائن المستدعى معها والقيمة التراكمية الحالية بالإضافة إلى قيمة أولية إن أعطيت.
foldIndexed
تجمع الدالة foldIndexed()
ناتج تطبيق عملية معينة على قيمة كل عنصر من عناصر المصفوفة أو المجموعة (بدءًا من اليسار إلى اليمين) المستدعاة معها وفهرس ذلك العنصر بشكل تراكمي بالإضافة إلى القيمة الأولية إن أعطيت.
forEach
تُنفّد الدالةُ forEach()
الدالةَ المُمرّرةَ إليها على كل عنصر من عناصر المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها.
forEachIndexed
تُنفّد الدالةُ forEachIndexed()
الدالةَ المُمرّرةَ إليها على كل عنصر من عناصر المصفوفة، أو المجموعة، أو الخريطة، التي استُدعيت معها وعلى فهرس ذلك العنصر.
groupBy
تجمِّع الدالة groupBy()
عناصر المصفوفة أو المجموعة التي استُدعيت معها في مجموعات، إذ تطبق دالة محدَّدة على كل عنصر ثمَّ تعاد خريطة تحوي مجموعاتٍ مفتاحُ كلِّ واحدةٍ منها مرتبطٌ بقائمة من العناصر المقابلة.
groupByTo
تشبه الدالة groupByTo()
الدالة groupBy()
في جميع النواحي باستثناء أنَّها تضيف الناتج المعاد إلى المعامل الممرَّر إليها.
groupingBy
تُنشئ الدالة groupingBy()
موردًا (source) من النوع Grouping
من المصفوفة أو المجموعة التي استُدعيت معها لاستخدامه لاحقًا مع عمليات التجميع (group-and-fold operations) وذلك باستخدام الدالة keySelector
المُمرّرة إليها لاستخلاص مفتاح من كل عنصر.
indexOf
تجلب الدالة indexOf()
فهرس أول ظهور لعنصر محدَّد من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها.
indexOfFirst
تجلب الدالة indexOfFirst()
فهرس أول عنصر يحقِّق شرطًا معيَّنًا من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها.
indexOfLast
تجلب الدالة indexOfLast()
فهرس آخر عنصر يحقِّق شرطًا معيَّنًا من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها.
intersect
تبحث الدالة intersect()
عن العناصر المشتركة بين مصفوفتين أو مجموعتين ثمَّ تعيدها في مجموعة.
isNotEmpty
تتحقَّق الدالة isNotEmpty()
إن كانت المصفوفة أو المجموعة التي استُدعيت معها فارغةً أم لا.
joinTo
تضيف الدالة joinTo()
بادئة ولاحقة إلى جميع عناصر المصفوفة أو المجموعة التي استُدعيت معها (أو جزءٍ منها) وتفصلها بفاصلة معينة ثمَّ تضيفها إلى سلسة نصية موجودة مسبقًا.
joinToString
تضيف الدالة joinToString()
بادئة ولاحقة إلى جميع عناصر المصفوفة أو المجموعة التي استُدعيت معها (أو جزءٍ منها) بعد فصل عناصرها بفاصلة معينة ثمَّ تضع الناتج في سلسة نصيةجديدة تنشئها آنذاك.
last
تجلب الدالة last()
آخر عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها إن لم يمرر إليها أي شيء، أو آخر عنصر يحق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.
lastIndexOf
تجلب الدالة lastIndexOf()
فهرس آخر ظهور لعنصر محدَّد من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها.
lastOrNull
تجلب الدالة lastOrNull()
آخر عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها إن لم يُمرَّر إليها أي شيء، أو آخر عنصر يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.
map
تعيد الدالة map()
قائمةً تحوي ناتج تطبيق الدالة المُمرّرة إليها على كل عنصر من عناصر المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها.
mapIndexed
تعيد الدالة mapIndexed()
قائمةً تحوي ناتج تطبيق الدالة المُمرّرة إليها على فهرس وقيمة كل عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها.
mapIndexedNotNull
تعيد الدالة mapIndexedNotNull()
قائمةً تحوي ناتج تطبيق الدالة المُمرّرة إليها على فهرس وقيمة كل عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها باستثناء القيم العدميَّةnull
التي تعيدها تلك الدالة.
mapIndexedNotNullTo
تشبه الدالة mapIndexedNotNullTo()
الدالة mapIndexedNotNull()
تمامًا باستثناء أنها تضيف الناتج المعاد إلى المعامل الممرَّر إليها.
mapIndexedTo
تشبه الدالة mapIndexedTo()
الدالةَ mapIndexed()
في جميع النواحي باستثناء أنها تضيف الناتج المعاد إلى المعامل الممرَّر إليها.
mapNotNull
تعيد الدالة mapNotNull()
قائمةً تحوي ناتج تطبيق الدالة المُمرّرة إليها على كل عنصر من عناصر المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها باستثناء القيم العدميَّة null
التي تعيدها تلك الدالة.
mapNotNullTo
تشبه الدالة mapNotNullTo()
الدالة mapNotNull()
تمامًا باستثناء أنها تضيف الناتج المعاد إلى المعامل المُمرَّر إليها بدلًا من وضعه في قائمة.
mapTo
تشبه الدالة mapTo()
الدالة map()
باستثناء أنَّها تضيف الناتج المعاد إلى المعامل المُمرَّر إليها بدلًا من وضعه في قائمة.
max
تجلب الدالة max()
أكبر عنصر في المصفوفة أو المجموعة التي استُدعيت معها.
maxBy
تجلب الدالة maxBy()
العنصر أو الزوج الأول من المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها والذي أعيدت معه أكبر قيمة عند تطبيق دالة معيَّنة عليه.
maxWith
تجلب الدالة maxWith()
العنصر أو الزوج الأول من المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها والذي له أكبر قيمة بحسب الموازن comparator
المعطى.
min
تجلب الدالة min()
أصغر عنصر في المصفوفة أو المجموعة التي استُدعيت معها.
minBy
تجلب الدالة minBy()
العنصر أو الزوج الأول من المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها والذي أعيدت معه أصغر قيمة عند تطبيق دالة معيَّنة عليه.
minWith
تجلب الدالة minWith()
العنصر أو الزوج الأول من المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها والذي له أصغر قيمة بحسب الموازن comparator
المعطى.
minus
minusElement
none
تتحقَّق الدالة none()
إن كانت المصفوفة أو المجموعة أو الخريطة التي استدعيت معها فارغةً، أو إن لم يكن هنالك أي عنصر من تلك العناصر محقِّقًا لشرط معين.
orEmpty
تعيد الدالة orEmpty()
المصفوفة أو المجموعة أو القائمة أو الخريطة التي استُدعيت معها إن لم تكن مساويةً للقيمة null
، أو تعيد كائنًا فارغًا يقابل الكائن المعطى (مصفوفة فارغة، أو مجموعة فارغة ...إلخ.) خلاف ذلك.
partition
تقسم الدالة partition()
المصفوفة أو المجموعة التي استُدعيت معها إلى قسمين؛ الأول يضم العناصر التي تحقِّق شرطًا محدَّدًا، والثاني يضم العناصر الأخرى المتبقيَّة.
plus
تضيف الدالة plus()
الوسيط المُمرَّر إليها إلى الكائن الذي استدعيت معه.
plusElement
تضيف الدالة plusElement()
العنصر المُمرّر إليها إلى المصفوفة أو المجموعة التي استُدعيت معها.
reduce
تُراكِم الدالة reduce()
قيمة عنصر بدءًا من العنصر الأول عبر تطبيق عملية معينة من يسار العناصر المعطاة إلى يمينها على القيمة المتراكمة الحالية وعلى العنصر التالي ثم تُعيد قيمة العنصر النهائي الناتج.
reduceIndexed
تجمع الدالة reduceIndexed()
ناتج تطبيق عملية معينة على قيمة كل عنصر من عناصر المصفوفة أو المجموعة (بدءًا من اليسار إلى اليمين) المستدعاة معها وفهرس ذلك العنصر بشكل تراكمي والقيمة المجمَّعة الحالية.
requireNoNulls
تعيد الدالة requireNoNulls()
العناصر غير المعدومة (non-null) من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها أو ترمي استثناءً إن وجد عنصر معدوم (null).
reversed
تُعيد الدالة reversed()
قائمة تضم عناصر المصفوفة أو المجموعة التي استُدعيت معها بترتيب معكوس.
shuffled
single
تتحقَّق الدالة single()
من حواية المصفوفة أو المجموعة أو القائمة التي استُدعيت معها عنصرًا واحدًا فقط أو عنصرًا واحدًا محققًا لشرط معيَّن ثمَّ تعيده أو تطلق استثناءً خلاف ذلك.
singleOrNull
تتحقَّق الدالة singleOrNull()
من حواية المصفوفة أو المجموعة أو القائمة التي استُدعيت معها عنصرًا واحدًا فقط، أو عنصرًا واحدًا محققًا لشرط معيَّن ثمَّ تعيده، أو تعيد القيمة null
خلاف ذلك.
sorted
ترتِّب الدالة sorted()
جميع عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت معها تصاعديًّا ثمَّ تضع الناتج في قائمة.
sortedBy
ترتِّب الدالة sortedBy()
جميع عناصر المصفوفة أو المجموعة التكرارية (Iterable) التي استُدعيت معها تصاعديًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر ثمَّ تضع الناتج في قائمة.
sortedByDescending
ترتِّب الدالة sortedByDescending()
جميع عناصر المصفوفة أو المجموعة التكرارية (Iterable) التي استُدعيت معها تنازليًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر ثمَّ تضع الناتج في قائمة.
sortedDescending
ترتِّب الدالة sortedDescending()
جميع عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت معها تنازليًّا ثمَّ تضع الناتج في قائمة.
sortedWith
ترتِّب الدالة sortedWith()
جميع عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت معها وفقًا للمُقارِن المُمرّر إليها ثمَّ تضع الناتج في قائمة.
subtract
تستثني الدالة subtract()
العناصر المشتركة بين كائنين.
sumBy
تجمع الدالة sumBy()
جميع نواتج تطبيق دالة معيَّنة على كل عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها.
sumByDouble
تجمع الدالة sumByDouble()
جميع نواتج تطبيق دالة معيَّنة على كل عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها.
take
تجلب الدالة take()
أول n
عنصر من المصفوفة أو المجموعة التكرارية التي استُدعيت معها وتضعها في قائمة.
takeWhile
تجلب الدالة takeWhile()
أول عناصر محققة لشرطٍ محدَّدٍ من المصفوفة أو القائمة التي استُدعيت معها.
toCollection
تضيف الدالة toCollection()
جميع عناصر المصفوفة أو المجموعة التي استُدعيت معها إلى المجموعة المتغيرة (MutableCollection) المُمرّرة إليها.
toHashSet
تعيد الدالة toHashSet()
كائنًا من النوع HashSet
لجميع عناصر المصفوفة أو المجموعة التي استُدعيت معها.
toList
تحول الدالة toList()
المصفوفة أو المجموعة التكرارية أو الخريطة التي استُدعيت معها إلى قائمة.
toMutableSet
تحول الدالة toMutableSet()
المصفوفة أو المجموعة التكرارية التي استُدعيت معها إلى مجموعة من النوع MutableSet
؛ تحافظ المجموعة المُعادة على نفس ترتيب تكرار المصفوفة أو المجموعة التكرارية الأصلية.
toSet
تحول الدالة toSet()
المصفوفة أو المجموعة التكرارية التي استُدعيت معها إلى مجموعة من النوع Set
. تحافظ المجموعة المُعادة على نفس ترتيب تكرار المصفوفة أو المجموعة التكرارية الأصلية.
toTypedArray
union
تجمع الدالة union()
العناصر المشتركة وغير المتشركة بين المصفوفة أو المجموعة التكرارية التي استُدعيت معها وبين المجموعة التكرارية المُمرّرة إليها في مجموعةٍ واحدةٍ من النوع Set
بعد حذف العناصر المتكررة.
windowed
unzip
تعيد الدالة unzip()
قائمتين، إذ تحتوي الأولى على القيم الأولى لكل زوج من أزواج المصفوفة أو المجموعة التكرارية التي استُدعيت معها وتحتوي الثانية على القيم الثانية لكل زوج من تلك الأزواج.
withIndex
تعيد الدالة withIndex()
مجموعة تكرارية خاملة (lazy Iterable) من القيم المُفهرسة لكل عنصر من عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت معها، أو تعيد مُكرّرًا (iterator) يغلّف كل عنصر أنتجه المكرّر (Iterator) المستدعى مع الدالة مع القيمة المُفهرسة أي يعيد القيمة مع فهرسها.
zip
تنشئ الدالة zip()
أزواجًا من عناصر كائنين لها نفس الفهرس، أو تنشئ قيمًا عبر تمرير عناصر لها نفس الفهرس تجلب من كائنين مختلفين إلى دالة معينة.