I prefer this approach because: you do not have to iterate over 2 collections, you can get at things other than name and value if you need to, and you can sanitize your values before you store them in the object (if you have default values that you do not wish to store, for example).