@Atom656

Я написал код и мне нужно дописать класс PriorityQueue но я незнаю правильно ли я написал класс?

Помогите пожалуйста, я написал код и мне нужно дописать класс PriorityQueue, но я не знаю правильно ли я написал класс - подскажите пожалуйста.
Вот мой код, который я написал.
package com.company;

import java.util.*;

public class Main {

    public static class PriorityQueueExample {
        public static void main(String[] args) {
            PriorityQueue<Integer> PQueue = new PriorityQueue<>();
            PriorityQueue<String> PQueue2 = new PriorityQueue<>();
            PQueue2.add("BMW");
            PQueue.add(25);
            PQueue2.add("Mazda");
            PQueue.add(35);
            PQueue2.add("Tesla");
            PQueue.remove(10);
            PQueue2.remove("Tesla");
            Iterator iterator = PQueue.iterator();
            while (iterator.hasNext()) {
                System.out.println(iterator.next() + " ");
            }
            Iterator iterator2 = PQueue2.iterator();
            while (iterator2.hasNext()) {
                System.out.println(iterator2.next() + " ");
            }
            System.out.println("Повертає - " + PQueue + PQueue2);
            System.out.println("Видаляэ - " + PQueue.poll() + "," + PQueue2.poll());
            System.out.println("Фінальна стадія" + PQueue + PQueue2);
            Integer element = PQueue.peek();
            String element2 = PQueue2.peek();
            System.out.println("Доступні елементи- " + element + element2);
            System.out.println("Колекція-" + PQueue + PQueue2);
            System.out.println(" ");
            System.out.println("Чи колекція є пуста? " + PQueue.isEmpty() + "," + PQueue2.isEmpty());
            System.out.println("Розмір черги- " + PQueue.size() + " && " + PQueue2.size());
            System.out.println(" ");
            System.out.println("Чи є констаната Mazda і 35? " + PQueue.contains(35) + "," + PQueue2.contains("Mazda"));
            System.out.println("Чи є констаната Nissan і 55? " + PQueue.contains(55) + "," + PQueue2.contains("Nissan"));
        }
    }
}
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Добрый день!

но я не знаю правильно ли я написал класс - подскажите пожалуйста.

Ну в принципе код рабочий. Другое дело, что поведение кода может отличаться от ожидаемого вами. Тут не подскажу, ибо не знаю вашей конечной цели.

Что касается кода:
public class Main {
    public static class PriorityQueueExample {

Это конечно не ошибка, но и смысла в данном случае в статичном классе не вижу.
Можно удалить класс Main
public class PriorityQueueExample {

PriorityQueue<Integer> PQueue = new PriorityQueue<>();

Названия переменных согласно naming convention с маленькой буквы. Например, pQueue, а еще лучше, если они будут осознанными (читаемыми). Например, вместо PQueue2 использовать carQueue или carModelQueue и т.д.

PQueue2.add("BMW");
            PQueue.add(25);
            PQueue2.add("Mazda");
            PQueue.add(35);
            PQueue2.add("Tesla");

            PQueue.remove(10);
            PQueue2.remove("Tesla");

Вы добавили 2 элемента Mazda & Tesla, 25 & 35, но удаляете элемент, которого нет в очереди (10, Tesla). Точнее вы добавили Tesla, а 10 не добавили. Возможно, что это просто упущение.

Возможно, что если увижу задание (задачу), то смогу точно сказать, насколько корректно вы реализовали его
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Kotelov Санкт-Петербург
от 150 000 до 190 000 ₽
SCHNEIDER GROUP Санкт-Петербург
от 160 000 до 190 000 ₽
БАНК УРАЛСИБ Москва
от 150 000 ₽