English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمية Java الأساسية

Java Flow Control

Java Array

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

معالجة الاستثناءات في Java

Java List

Java Queue (Queue)

Java Map Collection

Java Set Collection

Java Input/Output (I/O)

Java Reader/Writer

Other Java Topics

Java NavigableMap Interface

In this tutorial, we will learn about the Java NavigableMap interface and its methods through an example.

The NavigableMap interface of the Java collection framework provides the function of navigating between mapping entries.

It is consideredSortedMapA type of

Classes that implement NavigableMap

Since NavigableMap is an interface, objects cannot be created from it.

To use the functions of the NavigableMap interface, we need to use the TreeMap class that implements NavigableMap.

How to use NavigableMap?

In Java, we must import the java.util.NavigableMap package to use NavigableMap. After importing the package, NavigableMap will be created as follows.

// NavigableMap by TreeMap class implemented
NavigableMap<Key, Value> numbers = new TreeMap<>();

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

هنا،

  • Key - هو العلامة المميزة التي تربط كل عنصر (قيمة) في الخريطة

  • Value - العنصر المرتبط بمفتاح في الخريطة

طرقNavigableMap

يعدNavigableMap نوعًا منSortedMap. هذا لأنNavigableMap يرث واجهةSortedMap.

لذلك، يمكن استخدام جميع طرقSortedMap فيNavigableMap أيضًا. لمعرفة كيفية تعريف هذه الطرق فيSortedMap، يرجى زيارةJava SortedMap.

لكن، تم تعريف بعض طرقSortedMap فيNavigableMap بشكل مختلف.

دعونا نرى كيف يتم تعريف هذه الطرق فيNavigableMap.

headMap(key, booleanValue)

يعد طريقةheadMap() جميع المدخلات المرتبطة بمفاتيح مسبقة لمفتاح(key) المحدد من جميع المفاتيح المرتبطة في الخريطة القابلة للتنقل.

booleanValue هو متغير اختياري. القيمة الافتراضية هي خطأ.

إذا كانbooleanValue صحيحًا، فإن هذا الطريقة تعود جميع المدخلات المرتبطة بمفاتيح مسبقة لمفتاح(key) المحدد من جميع المفاتيح المرتبطة في الخريطة القابلة للتنقل، بما في ذلك المدخلات المرتبطة بمفتاح(key) المحدد.

tailMap(key, booleanValue)

يعد طريقةtailMap() جميع المدخلات المرتبطة بمفاتيح تالية لمفتاح(key) المحدد (تم تقديمه كمعامل) من جميع المفاتيح المرتبطة في الخريطة القابلة للتنقل، بما في ذلك المدخلات المرتبطة بمفتاح(key) المحدد.

booleanValue هو متغير اختياري. القيمة الافتراضية هي صحيح.

إذا كانbooleanValue خطأ، فإن هذا الطريقة تعود جميع المدخلات المرتبطة بمفاتيح تالية لمفتاح(key) المحدد، دون المدخلات المرتبطة بمفتاح(key) المحدد.

subMap(k1, bv1, k2, bv2)

يعد طريقةsubMap() جميع المدخلات المرتبطة بمفتاحk1 ومفتاحk2، بما في ذلك المدخلات المرتبطة بمفتاحk1.

bv1 وbv2 هما متغيران اختياريان. قيمةbv1 الافتراضية هي صحيح، وقيمةbv2 الافتراضية هي خطأ.

إذا كانbv1 خطأ، فإن هذا الطريقة تعود جميع المدخلات المرتبطة بمفتاحk1 ومفتاحk2، دون المدخلات المرتبطة بمفتاحk1.

إذا كانbv2 صحيحًا، فإن هذا الطريقة تعود جميع المدخلات المرتبطة بمفتاحk1 ومفتاحk2، بما في ذلك المدخلات المرتبطة بمفتاحk1.

طرق أخرى

NavigableMap يقدم العديد من الطرق التي يمكن استخدامها للتحديد العناصر في المapping.

  • DescendingMap() - عكس ترتيب العناصر في map

  • DescendingKeyMap() - عكس ترتيب مفاتيح map

  • ceilingEntry() - العودة إلى أصغر عنصر في جميع العناصر التي تحتوي على مفتاح أكبر أو يساوي المفتاح المحدد

  • ceilingKey() - العودة إلى أصغر مفتاح أكبر أو يساوي المفتاح المحدد

  • floorEntry() - العودة إلى أكبر عنصر في جميع العناصر التي تحتوي على مفتاح أقل أو يساوي المفتاح المحدد

  • floorKey() - العودة إلى أكبر مفتاح أقل أو يساوي المفتاح المحدد

  • HigherEntry() - العودة إلى أصغر عنصر في جميع العناصر التي تحتوي على مفتاح أكبر من المفتاح المحدد

  • HigherKey() - العودة إلى أصغر مفتاح أكبر من المفتاح المحدد

  • lowerEntry() - العودة إلى أكبر عنصر في جميع العناصر التي تحتوي على مفتاح أقل من المفتاح المحدد

  • lowerKey() - العودة إلى أكبر مفتاح أقل من المفتاح المحدد

  • firstEntry() - العودة إلى الإعداد الأول في map (المفتاح الأصغر)

  • lastEntry() - العودة إلى آخر عنصر في map (المفتاح الأكبر)

  • pollFirstEntry() - العودة وإزالة الإعداد الأول من map

  • pollLastEntry() - العودة وإزالة آخر عنصر من map

تحقيق TreeMap لنوع NavigableMap

import java.util.NavigableMap;
import java.util.TreeMap;
class Main {
    public static void main(String[] args) {
        //استخدام TreeMap لإنشاء NavigableMap
        NavigableMap<String, Integer> numbers = new TreeMap<>();
        //إدراج عنصر في map
        numbers.put("Two", 2);
        numbers.put("One", 1);
        numbers.put("Three", 3);
        System.out.println("NavigableMap: " + numbers);
        //زيارة الإعداد الأول من المapping
        System.out.println("الإعداد الأول: " + numbers.firstEntry());
        //زيارة آخر عنصر الخريطة
        System.out.println("العنصر الأخير: " + numbers.lastEntry());
        //حذف العنصر الأول من المapping
        System.out.println("حذف العنصر الأول: " + numbers.pollFirstEntry());
        //حذف العنصر الأخير من الخريطة
        System.out.println("حذف العنصر الأخير: " + numbers.pollLastEntry());
    }
}

نتائج الإخراج

NavigableMap: {One=1, Three=3, Two=2}
العنصر الأول: One=1
العنصر الأخير: Two=2
حذف العنصر الأول: One=1
حذف العنصر الأخير: Two=2

للحصول على معلومات إضافية حول TreeMap، يرجى زيارةJava TreeMap.

الآن نعرف واجهة NavigableMap، سنستخدم فئة TreeMap في الدرس التالي لفهم تنفيذها بشكل مفصل.