title: return sequence of clojure map values in a specific order
body: <p>If I have a map, for example,</p>
  
  <pre><code>(def mymap { :b 1 :a 2 :d 3 :e 4 :f 5})
  </code></pre>
  
  <p>I can use vals to get a sequence of all of the values</p>
  
  <pre><code>(vals mymap)
  ;=&gt; (1 2 3 4 5)
  </code></pre>
  
  <p>how do I get the sequence of values in my own custom order, to get for example</p>
  
  <pre><code>;=&gt; (4 2 3 1 5)
  </code></pre>
  
  <p>what I eventually want to do is serialize the values to a string, doing something like this</p>
  
  <pre><code>(defn serialize [m sep] (apply str (concat (interpose sep (vals m)) ["\n"])))
  </code></pre>
  
  <p>(this example function was taken from the "serialize an input-map into string" post)</p>
  
  <p>but I need to specify the order of the vals. </p>