On Mon, Mar 2, 2009 at 7:53 PM, Mark Volkmann <r.mark.volkm...@gmail.com> wrote: > > Currently what the article says about Vectors is "They are ideal when > items need to be retrieved by index, but not efficient when new items > need to be added or removed quickly." It doesn't distinguish between > the working in the middle or at the ends. It sounds like it should. > > Is it true that lists are more efficient than vectors when items need > to be added and removed from the middle? My goal is to say something > to help developers choose between using a list or a vector based on > the circumstances.
Lists provide the constant time add/remove at the front, while vectors provide essentially the same for the back. Seqs always walk from front to back. This is often sufficient information to choose between them. Vectors provide essentially constant-time lookup by index (nth), while lists provide only linear-time lookup by index. Lists provide no convenient or efficient mechanism for "changing" a value in the middle, while vectors provide essentially constant-time 'assoc' for any existing position. --Chouser --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---