Реализация стека с (ключом, значением) - PullRequest
1 голос
/ 02 августа 2020

Мне интересно, могу ли я реализовать стек с (Key, Value), как показано ниже:

    public static void main(String[] args) {
    PriorityQueueStack<Integer,V> s = new PriorityQueueStack<>();
    s.push(1,'A');
    s.push(2,'B');
    s.push(3,'C');
    s.push(4,'D');

Моя реализация класса выглядит следующим образом:

  public class PriorityQueueStack<E> extends SortedPriorityQueue<Integer, E> implements 
  PriorityQueue<Integer, E>{

Есть ли способ чтобы реализовать его с помощью (Key, Value), поскольку я искал, я не смог найти ни одного ресурса такой реализации.

Результат должен быть таким:

 (1,'A'),(2,'B')..... and so on

1 Ответ

4 голосов
/ 02 августа 2020

Это можно сделать, создав отдельный класс для пары ключ-значение и , добавив объект этого класса в стек .

class Pair{
    
    int key;
    char value;
    
    public Pair(int key,char value){
        this.key = key;
        this.value = value;
    }
    
}


public class Main {
    public static void main(String[] args) {
        Stack<Pair> stack = new Stack<>();
        stack.push(new Pair(1,'A'));
        stack.push(new Pair(2,'B'));
        stack.push(new Pair(3,'C'));
        stack.push(new Pair(4,'D'));
        // Pair p = stack.pop();
        // System.out.println(p.key+" "+p.value);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...