What is the difference between std::list<std::pair> and std::map? Is there a find method for the list, too?