Рубрики

Класс пар в Java

В C ++ у нас есть служебная библиотека std :: pair, которая очень полезна, если мы хотим сохранить пару значений вместе. Мы искали эквивалентный класс для пары в Java, но класс Pair не существовал до Java 7. JavaFX 2.2 имеет класс javafx.util.Pair, который можно использовать для хранения пары. Нам нужно сохранить значения в Pair с помощью параметризованного конструктора, предоставленного классом javafx.util.Pair .

Примечание: обратите внимание, что пара <Key, Value> используется в HashMap / TreeMap . Здесь <Key, Value> просто ссылается на пару значений, которые хранятся вместе.

Методы, предоставляемые классом javafx.util.Pair.

  • Пара (ключ K, значение V): создает новую пару
  • boolean equals (): используется для сравнения двух парных объектов. Он выполняет глубокое сравнение, т. Е. Сравнивает основные значения (<Key, Value>), которые хранятся в паре объектов.

    Пример:

    Pair p1 = new Pair(3,4);

    Pair p2 = new Pair(3,4);

    Pair p3 = new Pair(4,4);

    System.out.println(p1.equals(p2) + “ ” + p2.equals(p3));

    Выход:
    правда ложь

  • String toString (): этот метод возвращает строковое представление пары.
  • K getKey (): возвращает ключ для пары.
  • V getValue (): возвращает значение для пары.
  • int hashCode (): генерирует хэш-код для пары.
  • Давайте посмотрим на следующую проблему.
    Постановка задачи: Нам дают имена n студентов с соответствующими оценками, полученными в викторине. Нам нужно найти ученика с максимальным баллом в классе.

    Примечание. Для запуска приведенной ниже программы на вашем компьютере должна быть установлена Java 8.

    / * Java-программа для поиска пары с максимальным счетом * /

    import javafx.util.Pair;

    import java.util.ArrayList;

      

    class Test

    {

        / * Этот метод возвращает пару с максимальным баллом * /

        public static Pair <String,Integer>

                  getMaximum(ArrayList < Pair <String,Integer> > l)

        {

            // Присваиваем минимальное значение изначально

            int max = Integer.MIN_VALUE;

      

            // Пара для хранения максимальных оценок

            // студент со своим именем

            Pair <String, Integer> ans = 

                             new Pair <String, Integer> ("", 0);

      

            // Используем для каждого цикла итерацию массива

            // Pair Objects

            for (Pair <String,Integer> temp : l)

            {

                // Получить счет студента

                int val = temp.getValue();

      

                // Проверяем, больше ли оно предыдущего

                // максимальные оценки

                if (val > max)

                {

                    max = val;  // обновить максимум

                    ans = temp; // обновляем пару

                }

            }

            return ans;

        }

      

        // Метод драйвера для проверки вышеуказанного метода

        public static void main (String[] args)

        {

             int n = 5;// Количество студентов

      

            // Создать список массивов

            ArrayList <Pair <String,Integer> > l =

                      new ArrayList <Pair <String,Integer> > ();

      

            / * Создать пару имен учеников с их

                соответствующий счет и вставить в

                Arraylist * /

            l.add(new Pair <String,Integer> ("Student A", 90));

            l.add(new Pair <String,Integer> ("Student B", 54));

            l.add(new Pair <String,Integer> ("Student C", 99));

            l.add(new Pair <String,Integer> ("Student D", 88));

            l.add(new Pair <String,Integer> ("Student E", 89));

      

            // получаем пару с максимальным значением

            Pair <String,Integer> ans = getMaximum(l);

      

            System.out.println(ans.getKey() + " is top scorer " +

                              "with score of " + ans.getValue());

        }

    }

    Выход :

Student C is top scorer with score of 99

Примечание : вышеуказанная программа может не работать в онлайн-среде IDE, используйте автономный компилятор.

Ссылки: https://docs.oracle.com/javafx/2/api/javafx/util/Pair.html.

Эта статья предоставлена Чирагом Агарвалом . Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

Класс пар в Java

0.00 (0%) 0 votes