Как отсортировать набор на основе другого парного набора в Java?JAVA

Программисты JAVA общаются здесь
Anonymous
Как отсортировать набор на основе другого парного набора в Java?

Сообщение Anonymous »

У меня есть два упорядоченных набора (порядок вставки имеет значение, и мне нужно игнорировать дубликаты, поэтому LinkedHashSet), где n-й элемент в одном наборе соединен с n-м элементом в другом наборе. Но они не добавляются парами, это конечный результат, который будет парой.
Например, в приведенном ниже коде 5 будет в паре с 1.1f, а 3 будет в паре с 0,5f:

Код: Выделить всё

LinkedHashSet slotIDs = new LinkedHashSet();
LinkedHashSet pitches = new LinkedHashSet();
// example additions over time
slotIDs.add(3);
slotIDs.add(1);
slotIDs.add(2);
pitches.add(0.5f);
pitches.add(2.2f);
slotIDs.add(5);
slotIDs.add(2);
pitches.add(1.3f);
slotIDs.add(4);
pitches.add(1.1f);
pitches.add(1.3f);
pitches.add(0.7f);
slotIDs.add(5);
pitches.add(1.1f);
И я хочу отсортировать идентификаторы слотов на основе их парных шагов от самого низкого до самого высокого. В приведенном выше примере мне нужен такой результат: [3, 4, 5, 2, 1]. Как лучше всего это сделать?

Вернуться в «JAVA»