Если у меня есть класс с четырьмя атрибутами и их геттерами и сеттерами:
public class Shape {
private int id;
private int length;
private int width;
private int height;
Shape(int id, int length, int width, int height){
this.id = id;
this.length = length;
this.width = width;
this.height = height;
}
public int getId() {
return id;
}
public int getLength() {
return length;
}
public void setLength(int length) {
this.length = length;
}
public int getWidth() {
return width;
}
public void setWidth(int width) {
this.width = width;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
}
В моем основном классе у меня есть PriorityQueue фигур, упорядоченных по высоте.Мой вопрос: как я могу найти объект в моем PriorityQueue и обновить его длину и ширину?
import java.util.Comparator;
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
Comparator<Shape> comparator = Comparator.comparing(Shape::getHeight);
PriorityQueue<Shape> shapes = new PriorityQueue<Shape>(comparator);
shapes.add(new Shape(1,10,10,10);
shapes.add(new Shape(2,20,20,20);
shapes.add(new Shape(3,30,30,30);
}
//What I want to do is
for(each element s in shapes){
if(s.equals(shape){
//update the length and width of element s in the priority queue
}
}
}
PS: я должен реализовать его как PriorityQueue