Java — Самоучитель

  • 15. Java — Массивы
  • 16. Java — Дата и время
  • 17. Java — Регулярные выражения
  • 18. Java — Методы
  • 21. Java — Вложенные и внутренние классы
  • 22. Java — Наследование
  • 23. Java — Переопределение
  • 24. Java — Полиморфизм
  • 25. Java — Абстракция
  • 26. Java — Инкапсуляция
  • 27. Java — Интерфейсы
  • 28. Java — Пакеты
  • 31. Java — Дженерики
  • 32. Java — Сериализация
  • 30.8. Java – Интерфейс SortedMap

    Интерфейс SortedMap в Java расширяет Map. Он гарантирует, что записи сохраняются в порядке возрастания ключа.

    Содержание

    [скрыть]

    Несколько методов вызывают исключение NoSuchElementException, если на вызывающей карте нет элементов. ClassCastException вызывается, когда объект несовместим с элементами на карте. Исключение NullPointerException вызывается, если совершается попытка использовать нулевой объект, когда null не разрешен на карте.

    Методы, объявленные SortedMap, написаны в следующей таблице:

    Методы

    Методы и описание
    1Comparator comparator( )
    Возвращается компаратор вызывающей отсортированной Map. Если для вызванного Map используется естественный порядок, возвращается null.
    2Object firstKey( )
    Возвращает первый ключ в вызываемом Map.
    3SortedMap headMap(Object end)
    Возвращает отсортированный Map для этих записей Map с ключами, которые меньше, чем end.
    4Object lastKey( )
    Возвращает последний ключ в вызываемом Map.
    5SortedMap subMap(Object start, Object end)
    Возвращает Map, содержащий эти записи с ключами, которые больше или равны start и меньше, чем end.
    6SortedMap tailMap(Object start)
    Возвращает Map, содержащий эти записи с ключами, которые больше или равны start.

    Пример

    SortedMap имеет свою реализацию в различных классах, например TreeMap. Ниже приведен пример объяснения функциональности SortedMap:

    import java.util.*;
    public class TreeMapDemo {
    
       public static void main(String args[]) {
          // Создаём хэш-карту
          TreeMap tm = new TreeMap();
          
          // Кладём элементы в Map
          hm.put("Зоя", new Double(3434.34));
          hm.put("Марк", new Double(123.22));
          hm.put("Аня", new Double(1378.00));
          hm.put("Маргарита", new Double(99.22));
          hm.put("Михаил", new Double(-19.08));
          
          // Получаем набор элементов
          Set set = tm.entrySet();
          
          // Получаем итератор
          Iterator i = set.iterator();
          
          // Отображение элементов
          while(i.hasNext()) {
             Map.Entry me = (Map.Entry)i.next();
             System.out.print(me.getKey() + ": ");
             System.out.println(me.getValue());
          }
          System.out.println();
          
          // Вносим 1000 на счёт Зои
          double balance = ((Double)hm.get("Зоя")).doubleValue();
          hm.put("Зоя", new Double(balance + 1000));
          System.out.println("Новый баланс Зои: " + hm.get("Зоя"));
       }
    }
    

    Получим следующий результат:

    Аня: 1378.0
    Маргарита: 99.22
    Марк: 123.22
    Михаил: -19.08
    Зоя: 3434.34
    
    Новый баланс Зои: 4434.34
    
    Поделитесь:

    О сайте

    Все материалы сайта proglang.su являются результатом труда его авторов. Копирование материалов в некоммерческих целях без указания источника в виде прямой ссылки на сайт proglang.su запрещено. Использование материалов в коммерческих целях разрешено только с письменного согласия автора. Нарушение авторских прав преследуется по закону. Мы это делаем, чтобы защитить плоды своих трудов от воровства. © 2014-2019

    Присоединяйтесь


    Обратная связь