Это своего рода продолжение для этого вопроса.
Допустим, нам нужен доступ к двум самым последним вставленным элементам в коллекции.Список или вектор будут быстрее для этой операции?
Это самые быстрые варианты?
; for list
(def l '(3 2 1))
(peek l)
=> 3
(peek (pop l))
=> 2
; for vector
(def v [1 2 3])
(peek v)
=> 3
(peek (pop v))
=> 2
Или это будет быстрее сделать что-то вроде:
(v (- (count v) 1))
=> 3
(v (- (count v) 2))
=> 2
Я был бы очень признателен за объяснение того, как правильно проанализировать эту ситуацию.Это для моей первой игры и программы Clojure, поэтому я беспокоюсь о производительности.:) Причина, по которой я не объединяю эти два значения, состоит в том, чтобы не распаковывать / отображать их, так как вся коллекция также используется.
Спасибо!