Эффективно добавлять упорядоченные данные в TreeMap?

У меня есть основной вопрос дерева/алгоритма для Java:

Скажем, я создаю новый TreeMap:

TreeMap<KeyType,ValType> myTreeMap = new TreeMap<>();

И у меня также есть существующий массив данных, который уже находится в порядке сравнения:

KeyType myArray[] = new KeyType[]{.......};

Есть ли способ заполнить TreeMap этими данными за время O(n)? То есть, это самый эффективный метод:

for (int i = 0; i < myArray.length; i++){
    myTreeMap.put(myArray[i],"blah");
}

Или есть способ воспользоваться тем фактом, что данные уже есть, чтобы избежать возможной O(lg n) вставки/балансировки дерева?


person Sam Gomez    schedule 21.03.2013    source источник
comment
Ах да, это так. Спасибо! Это научит меня сначала лучше искать.   -  person Sam Gomez    schedule 22.03.2013
comment
Вот другое решение. Я решил просто использовать putAll() при копировании из другого TreeMap и пользовательской отсортированной структуры, когда она недоступна.   -  person Sam Gomez    schedule 22.03.2013