Hi Alex, Didier, Thanks for your patience.
That covers everything which I can think of and a fair bit more :) I have a bit of reading and thinking to do now. Again, thank you. -- Rule of thumb simple question, complicated answer Stephen. On 13 November 2017 at 22:09, Didier <didi...@gmail.com> wrote: > Yo are looking for indexOf (.indexOf vector value). > > (.indexOf ["a" "b"] "b") > => 1 > > (.indexOf ["a" "b" "b"] "b") > => 1 > > Note how indexOf searches for the index of the first value which matches > value. > > To do what you ask, is a query over a vector, which requires a search on > each element. This will take O(N) time. For a small list like in your > example its probably good enough and not an issue. > > If you want the name of the horse in a given position, that's a key > lookup, which is ~O(1) time. You can use get: > > (get ["a" "b"] 1) > => "b" > > If you really needed performance, you would need to combine a LinkedList > and a map. Some datastructures do it for you under the hood, like Apache > LinkedMap, amalloy ordered, java LinkedHashMap, etc. > > Its possible to also just use sorted-map-by in a closure. But this only > works if you're not going to add/update things to the datastructure after > first creation. > > See the example on clojuredocs: https://clojuredocs.org/ > clojure.core/sorted-map-by#example-542692d5c026201cdc327094 > > -- > 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 > Note that posts from new members are moderated - please be patient with > your first post. > 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 > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- 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 Note that posts from new members are moderated - please be patient with your first post. 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.