Създадох клас, наречен Foo. Foo има три полета, които са int: x, y и z. Искам да направя PriorityQueue<Foo>
, който приоритизира обектите Foo по различен начин в различни ситуации. Например, може да искам да дам приоритет по стойност x, или може би по стойност y, или може би по z. Но няма да знам коя стойност искам да приоритизирам до момента на изпълнение. Чувал съм, че можете да използвате компаратори, за да наложите по някакъв начин подреждане в движение, което според мен би било перфектно тук.
Объркан съм обаче как точно бих направил това. Може ли някой да ми покаже пример, ако кажа, че искам да дам приоритет на x с помощта на компаратор (без да се налага да отменям функцията compareTo в моя Foo клас)?
Благодаря ти много.