Не могли бы вы дать мне краткое описание Tuple
? А когда использовать его за List
и Vector
?Что такое Tuple? И кортеж против списка против вектора?
ответ
Когда вы будете делать больше операций вставки/удаления в структуре данных, вы должны использовать Список. Когда когда-либо в структуре данных доступ к переменным очень часто используется вектором.
Кортежи - это объекты, которые объединяют элементы разных типов вместе в одном объекте, точно так же, как и парные объекты для пар элементов, но обобщенные для любого количества элементов. Понятно, что они похожи на простые старые структуры данных (C-подобные структуры), но вместо того, чтобы иметь именованные члены данных, к его элементам обращается их порядок в кортеже.
Tuple обычно представлен в Clojure через ассоциативную структуру данных, такую как карта {:name "david" :age 35}
или запись.
A ["david" 35]
предлагает быстрый позиционный доступ (= 35 (nth ["david" 35] 1))
, и вы можете хранить различные типы.
Список ("david" 35)
или ("david" "justin" "david")
предлагает быстрый доступ с головы и ускоренный перемотка вперед. Хотя он может содержать разные типы, было бы наиболее распространено его содержать один тип, возможно содержащий дубликаты, в определенном порядке. Контрастность к набору #{"david" "justin"}
, который не содержит дубликатов и оптимизирован для проверки членства/присутствия.
Сортированные списки, наборы и карты поддерживают порядок объектов с использованием компаратора.
Отъезд 4clojure и clojuredocs.org. Удачи!
- 1. Кортеж конструктор против списка компе
- 2. массив против вектора против списка
- 3. Кортеж() на GenExp против ListComp
- 4. вектора против списка в STL
- 5. Что такое DateTime.ToBinary против Ticks и FromBinary против конструктора
- 6. Что такое WCF (и за и против)?
- 7. C# Tuple - Что такое практическое использование Tuple
- 8. список инициализаторов против вектора
- 9. Что такое соглашение против конфигурации?
- 10. List + = Кортеж против Список = Список + Кортеж
- 11. Неупорядоченная карта против вектора
- 12. пустой Deque против вектора
- 13. список Clojure против вектора
- 14. J2me - Массивы против вектора?
- 15. массив против вектора
- 16. что такое интерфейс против методов, абстракция против инкапсуляции в C++
- 17. Списки против кортежей - что использовать и когда?
- 18. @Findby против против и против?
- 19. 2-мерная Кортеж против OrderedDict против Список кортежей
- 20. Поиск вектора boost :: tuple
- 21. Java ArrayList против вектора C++
- 22. Что такое абстракция против графика неустойчивости?
- 23. уступкам вектора: Статические против динамических
- 24. Что такое ограничения NSubstitute, особенно против MOQ?
- 25. массива против макета вектора, памяти
- 26. Что такое «поле»? «Поле» против «Значение поля»
- 27. вектор :: push_back против вектора :: оператор []
- 28. Каковы преимущества массива против вектора?
- 29. Что такое XPCOM? XPCOM против COM?
- 30. Использование List/Tuple/etc. от ввода против непосредственно отсылающий типа, как список/кортеж/и т.д.