Не существует "реального" способа обеспечить такое поведение в Java, поэтому документация используется для описания ожидаемого поведения интерфейса с точки зрения производительности.
Это важно для двух аспектов.
Во-первых, как пользователь этого интерфейса (или любого класса, который его реализует), вы должны учитывать это соображение производительности и соответственно писать свой код.Например, в приведенной вами параграфе отмечается, что «производительность восходящих операций и представлений, вероятно, будет выше, чем у нисходящих».Это означает, что если вы хотите выполнить итерацию по NavigableSet
, вам, вероятно, следует выполнить итерацию от начала до конца, а не наоборот (даже при том, что оба будут работать!).
Во-вторых, как разработчик этогоинтерфейс, вы должны знать, что это ожидание, и что пользователи интерфейса, вероятно, написали свой код, чтобы принять это поведение во внимание (как объяснено в предыдущем параграфе).Это означает, например, что вы могли бы реализовать NavigatableSet
, где производительность нисходящей операции лучше, чем производительность ее восходящего аналога, но вы, вероятно, не должны - этопросто пользователи не ожидают, что этот класс будет работать.