Javaالكلاس LinkedHashSet
في جافا
- مقدمة
- كونستركتورات الكلاس
LinkedHashSet
- دوال الكلاس
LinkedHashSet
- مثال شامل
مقدمة
الكلاس LinkedHashSet
يرث من الكلاس HashSet
تم تصميمه فقط للحفاظ على ترتيب العناصر التي يتم إدخالها فيه.
و هو يملك نفس الأشياء التي يملكها الكلاس HashSet
.
إذاً الكلاس LinkedHashSet
يستخدم لتخزين عناصر متتالية, و الحفاظ على الترتيب الذي تم فيه إدخال هذه العناصر, كما أنه يسمح بتخزين القيمة null
.
لكنه لا يسمح بتخزين أكثر من عنصر عندهم نفس القيمة, فتجد كل عنصر فيه يملك قيمة مختلفة.
هنا لا يمكنك الوصول لعنصر محدد من عناصر كائن الـ LinkedHashSet
لأن العناصر هنا لا تملك أرقام Index. لذلك لا يحتوي على أي دالة من دوال get()
.
إذاً هنا للوصول إلى عنصر ما عليك المرور على جميع العناصر الأخرى الموجودة في كائن الـ LinkedHashSet
.
بناؤه
public class LinkedHashSet<E> extends HashSet<E> implements Set<E>, Cloneable, Serializable
إذاً الكلاس HashSet
يرث من الكلاس AbstractSet
, و يطبق الإنترفيسات Set
- Cloneable
- Serializable
.
كونستركتورات الكلاس LinkedHashSet
الجدول التالي يحتوي على جميع الكونستركتورات الموجودين في الكلاس LinkedHashSet
.
الكونستركتور مع تعريفه | |
---|---|
1 | public LinkedHashSet()
هذا الكونستركتور الإفتراضي في الكلاس LinkedHashSet , يستخدم لإنشاء كائن نوعه LinkedHashSet ليس له حجم محدد. |
2 | public LinkedHashSet(int initialCapacity)
يستخدم هذا الكونستركتور لتحديد حجم كائن الـ ArrayList الأولي.الرقم الذي نضعه كـ Argument في هذا الكونستركتور يحدد عدد عناصر كائن الـ ArrayList الذي يمكنه احتوائهم على الأقل. |
3 | public LinkedHashSet(int capacity, float fillRatio)
يستخدم هذا الكونستركتور لتحديد حجم كائن الـ LinkedHashSet الأولي الذي نريده أن يحجز له في الذاكرة.الرقم الذي نضعه مكان الباراميتر capacity يحدد عدد العناصر التي يمكن أن يحتويها كائن الـ LinkedHashSet , و تذكر أن حجمه يزيد عند الحاجة.الرقم الذي نضعه مكان الباراميتر fillRatio يمكن أن يكون بين 0.0f و 1.0f.هنا يتم ضرب المتغيرين capacity و fillRatio ببعضهم, ناتج عملية الضرب يحدد متى سيتم زيادة حجم كائن الـ LinkedHashSet في الذاكرة. |
4 | public LinkedHashSet(Collection c)
يستخدم هذا الكونستركتور لإنشاء كائن نوعه LinkedHashSet يحتوي على عناصر كائن الـ Collection الذي نمرره له كـ Argument. |
دوال الكلاس LinkedHashSet
الجدول التالي يحتوي على جميع دوال الكلاس LinkedHashSet.
الدالة مع تعريفها | |
---|---|
1 | public boolean add(Object o)
تضيف عنصر جديد في كائن الـ LinkedHashSet .ترجع true إذا تمت الإضافة بنجاح. |
2 | public void clear()
تمسح جميع العناصر الموجودة في كائن الـ LinkedHashSet . |
3 | public Object clone()
تنشئ نسخة من كائن الـ LinkedHashSet . |
4 | public boolean contains(Object o)
ترجع true إذا كان كائن الـ LinkedHashSet يحتوي على القيمة التي نضعها لها كـ Argument. |
5 | public boolean isEmpty()
ترجع true في حال كان كائن الـ LinkedHashSet فارغاً. |
6 | public boolean remove(Object o)
تحذف عنصر محدد من كائن الـ LinkedHashSet و ترجعه.ترجع true إذا تم حذف الكائن بنجاح, غير ذلك ترجع false . |
7 | public int size()
ترجع عدد العناصر الموجودة في كائن الـ LinkedHashSet . |
8 | public Iterator iterator()
ترجع كائن نوعه Iterator يحتوي على جميع عناصر كائن الـ LinkedHashSet . |
مثال شامل
في المثال التالي قمنا بتعريف كائن نوعه LinkedHashSet
, إسمه lhs
, ثم أدخلنا فيه 6 عناصر.
بعدها قمنا بعرض عناصر الكائن lhs
, ثم عرضنا عددهم.
import java.util.LinkedHashSet; // LinkedHashSet هنا قمنا باستدعاء الكلاس public class Main { public static void main(String[] args) { // lhs إسمه LinkedHashSet هنا قمنا بإنشاء كائن من الكلاس LinkedHashSet lhs = new LinkedHashSet(); // lhs هنا قمنا بإدخال 6 عناصر في الكائن lhs.add("A"); lhs.add("B"); lhs.add("C"); lhs.add("D"); lhs.add("E"); lhs.add("F"); // lhs هنا قمنا بعرض عدد عناصر الكائن System.out.println("All elements: " + lhs + "\n"); // لاحظ أنه لم يتم تخزينهم بالترتيب الذي أدخلناهم فيه .hs هنا قمنا بعرض عناصر الكائن System.out.println("Number of elements: " + lhs.size()); } }
سنحصل على النتيجة التالية عند التشغيل.
All elements: [A, B, C, D, E, F]
Number of elements: 6