@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"));
        }
    }
}
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день!

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

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

Что касается кода:
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 не добавили. Возможно, что это просто упущение.

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

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

Похожие вопросы