Мне нужно то, что фактически ImmutableNavigableListMultimap<Integer, HasOffset>
, где HasOffset
выглядит так:
interface HasOffset {
public int getOffset();
}
Но нет ImmutableNavigableListMultimap
: я хочу неизменного NavigableMap<Integer, List<HasOffset>>
, который я создаю из List<HasOffset>
, где я индексирую каждый HasOffset
по его смещению. Например, если бы у меня были эти объекты:
115 Elm St. John Smith
115 Elm St. Jane Smith
108 Elm St. Thomas Little
101 Elm St. Bill Jones
115 Elm St. Buster Smith
112 Elm St. Mary Kay
101 Elm St. Judy Jones
тогда мне нужна карта, которая выглядит как
101 -> [Bill Jones, Judy Jones]
108 -> [Thomas Little]
112 -> [Mary Kay]
115 -> [John Smith, Jane Smith, Buster Smith]
где я могу использовать ключ и найти ближайшие значения ниже или выше этого ключа.
Может ли Гуава помочь или я застрял, делая это сам? Мне нравится Multimaps.index()
, но я не думаю, что это поможет мне в этот раз.