خصائص Set في Dart
في Dart، تمتلك كائنات Set
مجموعة من الخصائص التي تساعد في التعامل مع البيانات بفعالية وسهولة. هذه الخصائص توفر معلومات عن المجموعة وتمكن من تنفيذ عمليات أساسية عليها.
1. length
- تعيد عدد العناصر الموجودة في الـ
Set
.
مثال:
dartCopyEdit<code>void main() {
Set<int> numbers = {1, 2, 3, 4, 5};
print('عدد العناصر: ${numbers.length}'); // 5
}
</code>
Dart2. isEmpty
- تعيد
true
إذا كانت المجموعة فارغة، وإلا تعيدfalse
.
مثال:
dartCopyEdit<code>void main() {
Set<String> names = {};
print('هل المجموعة فارغة؟ ${names.isEmpty}'); // true
}
</code>
Dart3. isNotEmpty
- تعيد
true
إذا كانت المجموعة تحتوي على عناصر، وإلا تعيدfalse
.
مثال:
dartCopyEdit<code>void main() {
Set<String> colors = {'Red', 'Green'};
print('هل المجموعة غير فارغة؟ ${colors.isNotEmpty}'); // true
}
</code>
Dart4. first
- تعيد أول عنصر موجود في المجموعة.
مثال:
dartCopyEdit<code>void main() {
Set<String> fruits = {'Apple', 'Banana', 'Mango'};
print('أول عنصر: ${fruits.first}'); // Apple
}
</code>
Dart5. last
- تعيد آخر عنصر في المجموعة.
مثال:
dartCopyEdit<code>void main() {
Set<int> numbers = {10, 20, 30, 40};
print('آخر عنصر: ${numbers.last}'); // 40
}
</code>
Dart6. contains(element)
- تتحقق مما إذا كانت المجموعة تحتوي على عنصر معين.
مثال:
dartCopyEdit<code>void main() {
Set<int> numbers = {1, 2, 3, 4, 5};
print(numbers.contains(3)); // true
print(numbers.contains(6)); // false
}
</code>
Dart7. hashCode
- تعيد قيمة رقمية تمثل الرمز الفريد لكائن الـ
Set
.
مثال:
dartCopyEdit<code>void main() {
Set<String> items = {'Book', 'Pen', 'Notebook'};
print('الرمز الفريد للمجموعة: ${items.hashCode}');
}
</code>
Dart8. iterator
- تُستخدم للحصول على كائن
Iterator
يمكن من خلاله التكرار على عناصر المجموعة.
مثال:
dartCopyEdit<code>void main() {
Set<String> fruits = {'Apple', 'Banana', 'Mango'};
var iterator = fruits.iterator;
while (iterator.moveNext()) {
print('العنصر: ${iterator.current}');
}
}
</code>
Dartملخص
- الخصائص في
Set
توفر طريقة فعّالة للوصول إلى معلومات المجموعة والتفاعل مع بياناتها. - تساعد هذه الخصائص في كتابة كود نظيف وفعّال لتحليل ومعالجة البيانات.
9. add(element)
- تضيف عنصرًا إلى المجموعة إذا لم يكن موجودًا بالفعل.
مثال:
dartCopyEdit<code>void main() {
Set<int> numbers = {1, 2, 3};
numbers.add(4);
numbers.add(2); // لن يتم إضافته لأنه موجود مسبقًا
print(numbers); // {1, 2, 3, 4}
}
</code>
Dart10. addAll(iterable)
- تضيف مجموعة من العناصر دفعة واحدة.
مثال:
dartCopyEdit<code>void main() {
Set<int> numbers = {1, 2, 3};
numbers.addAll([4, 5, 6]);
print(numbers); // {1, 2, 3, 4, 5, 6}
}
</code>
Dart11. remove(element)
- تزيل عنصرًا محددًا من المجموعة إذا كان موجودًا.
مثال:
dartCopyEdit<code>void main() {
Set<String> colors = {'Red', 'Green', 'Blue'};
colors.remove('Green');
print(colors); // {Red, Blue}
}
</code>
Dart12. removeAll(elements)
- تزيل مجموعة من العناصر دفعة واحدة.
مثال:
dartCopyEdit<code>void main() {
Set<int> numbers = {1, 2, 3, 4, 5};
numbers.removeAll([2, 4]);
print(numbers); // {1, 3, 5}
}
</code>
Dart13. retainAll(elements)
- تحتفظ بالعناصر الموجودة في القائمة المحددة وتزيل العناصر الأخرى.
مثال:
dartCopyEdit<code>void main() {
Set<int> numbers = {1, 2, 3, 4, 5};
numbers.retainAll([2, 4]);
print(numbers); // {2, 4}
}
</code>
Dart14. clear()
- تزيل جميع العناصر من المجموعة.
مثال:
dartCopyEdit<code>void main() {
Set<int> numbers = {1, 2, 3};
numbers.clear();
print(numbers); // {}
}
</code>
Dart15. toList()
- تحول المجموعة إلى قائمة.
مثال:
dartCopyEdit<code>void main() {
Set<String> fruits = {'Apple', 'Banana', 'Mango'};
List<String> fruitsList = fruits.toList();
print(fruitsList); // [Apple, Banana, Mango]
}
</code>
Dart16. difference(Set other)
- تعيد الفرق بين مجموعتين.
مثال:
dartCopyEdit<code>void main() {
Set<int> set1 = {1, 2, 3, 4};
Set<int> set2 = {3, 4, 5};
var differenceSet = set1.difference(set2);
print(differenceSet); // {1, 2}
}
</code>
Dart17. containsAll(Iterable)
- تتحقق من احتواء المجموعة على جميع العناصر في القائمة.
مثال:
dartCopyEdit<code>void main() {
Set<int> numbers = {1, 2, 3, 4, 5};
print(numbers.containsAll([1, 3])); // true
print(numbers.containsAll([1, 6])); // false
}
</code>
Dart18. retainWhere(bool test(element))
- تحتفظ بالعناصر التي تحقق الشرط المحدد.
مثال:
dartCopyEdit<code>void main() {
Set<int> numbers = {1, 2, 3, 4, 5, 6};
numbers.retainWhere((num) => num % 2 == 0);
print(numbers); // {2, 4, 6}
}
</code>
Dart19. union(Set other)
- تعيد اتحاد مجموعتين.
مثال:
dartCopyEdit<code>void main() {
Set<int> set1 = {1, 2, 3};
Set<int> set2 = {3, 4, 5};
var unionSet = set1.union(set2);
print(unionSet); // {1, 2, 3, 4, 5}
}
</code>
Dart20. intersection(Set other)
- تعيد العناصر المشتركة بين مجموعتين.
مثال:
dartCopyEdit<code>void main() {
Set<int> set1 = {1, 2, 3, 4};
Set<int> set2 = {3, 4, 5, 6};
var intersectionSet = set1.intersection(set2);
print(intersectionSet); // {3, 4}
}
</code>
Dartملخص
- يحتوي
Set
في Dart على مجموعة واسعة من الخصائص والوظائف التي تجعله أداة فعالة لإدارة البيانات الفريدة. - يُفضل استخدام
Set
في الحالات التي تتطلب التأكد من عدم وجود عناصر مكررة أو في العمليات الرياضية بين المجموعات.