Какова сложность size () для представления порций TreeSet в Java

интересно, какова сложность времениsize() для части просмотра TreeSet.

Скажи яm добавление случайных чисел для установки (и мне наплевать на дубликаты):

    final TreeSet tree = new TreeSet();
    final Random r = new Random();
    final int N = 1000;
    for ( int i = 0; i < N; i++ ) {
        tree.add( r.nextInt() );
    }

и теперь ям вудер, что такое сложность дляsize() звонки как:

    final int M = 100;
    for ( int i = 0; i < M; i++ ) {
        final int f = r.nextInt();
        final int t = r.nextInt();
        System.out.println( tree.headSet( t ).size() );
        System.out.println( tree.tailSet( f ).size() );
        if ( f > t ) {
            System.out.println( tree.subSet( t, f ).size() );
        } else {
            System.out.println( tree.subSet( f, t ).size() );
        }
    }

AFAIK сложность,tree.headSet( t )tree.tailSet( f ) а такжеtree.subSet( f, t ) O (LG N),set.size() это O (1), но как насчетsize() методы выше? У меня такое плохое предчувствие, чтоs O (K) где K - размер выбранного подмножества.

Может быть, если есть какой-то обходной путь, чтобы найти индекс некоторого элемента в наборе, этого будет достаточно, потому что, если я могу получитьti = indexOf(f), скажем, O (LG N), чем это именно то, что мне нужно.

Ответы на вопрос(1)

Ваш ответ на вопрос