Dans un langage fortement typé tel que C ++ et Java, les tableaux, listes et ensembles couramment utilisés ne peuvent être qu'un seul type de la collection (vous pouvez consulter: « Parler de Java Data Structure-Analysis de l'implémentation sous-jacente et des considérations d'application ).
int data [] = new int [3] List <String> person = new ArrayList <> (); Set <Integer> test = new TreeSet <> ();
Si nous avons besoin d'une collection de taille fixe de différents types de valeurs, nous devons utiliser des tuples
Introduction aux tuples C ++
Tuple est un conteneur puissant qui permet de stocker plusieurs types de données différents, et est une généralisation de paire. Il peut également être utilisé comme structure générale, sans qu'il soit nécessaire de créer une structure et d'obtenir les caractéristiques de la structure. Dans certains cas, il peut remplacer la structure pour rendre le programme plus concis et intuitif. En théorie, std :: tuple peut avoir un nombre infini de variables membres de n'importe quel type, et std :: pair ne peut être que 2 membres, donc lorsque vous avez besoin de sauvegarder 3 données ou plus, vous devez utiliser des tuples tuple (tuple (element Group) a commencé à être cité en c ++ 11.).
std :: tuple <T1, T2, TN> t1; // Crée un objet tuple vide (en utilisant la construction par défaut), les éléments correspondants sont des types T1 et T2 ... Tn, initialisés par la valeur std :: tuple <T1 , T2, TN> t2 (v1, v2, ... TN); // Crée un objet tuple, ses deux éléments sont de type T1 et T2 ... Tn; Pour obtenir la valeur de l'élément, il faut passer le membre tuple get <Ith> (obj) pour l'obtenir (Ith fait référence à l'obtention du nombre d'éléments dans le tuple, veuillez consulter les exemples spécifiques ci-dessous). std :: tuple <T1 &> t3 (ref &); // Le type d'élément du tuple peut être une référence std :: make_tuple (v1, v2); // Comme une paire, un objet tuple peut également être créé via make_tuple
Les objets du tuple peuvent être de n'importe quel type différent et avoir n'importe quelle longueur
Tuple Java
Tuple, qui est un objet unique dans lequel un ensemble d'objets est directement empaqueté et stocké. Cet objet conteneur permet de lire les éléments qu'il contient. Mais il n'est pas autorisé à y stocker de nouveaux objets (ce concept est également appelé transfert de données Objet ou messager)
tuple de python
La liste et le tuple de types de données collectifs de Python sont très similaires, la différence est:
Le tuple est défini par des parenthèses () et le contenu de l'élément ne peut pas être modifié après la définition (c'est-à-dire immuable), tandis que la liste est définie par des crochets [], et le contenu de son élément peut être modifié (c'est-à-dire modifiable). Les actions de modification incluent la suppression de pop () et l'ajout à la fin append (), insérez insert ().
list1 = ['cong', 'rick', 'long'] // list tupe1 = ('Jan', 'Feb', 'Mar') // tuple, les éléments de tuple ne peuvent pas être modifiés, ne peuvent pas être ajoutés ou supprimés . tupeformList = tuple (liste1)
La nature des tuples en python est similaire à java
Les tuples, comme les listes, peuvent être utilisés pour le stockage de données et contenir plusieurs données;
Mais la différence avec la liste est que la liste ne peut stocker que le même type de données, mais le tuple est différent. Elle peut stocker différents types de données, tels que le stockage de int, chaîne, liste, etc. en même temps, et peut être étendue indéfiniment en fonction des besoins.
Tuple TypeScript
TypeScript injecte une saisie forte dans JavaScript, ce qui rend JavaScript plus semblable à Java, comme:
let sites: string [] ----> String args []
Les tableaux JavaScript peuvent stocker n'importe quel type. Mais TypeScript devient un tuple. En fait, si vous ne comprenez pas le concept de tuples, vous pouvez toujours l'utiliser. Spécifiez simplement le type.
let myTuple: [nombre, chaîne, booléen] = [1, 'peuplier', vrai];
Pour les éléments hors limites, son type sera limité au type d'union de chaque type dans le tuple
Les tuples TypeScript sont hérités des langages de programmation fonctionnels (tels que F #) - une famille.
Article de référence:
Utilisation de base du tuple C ++ (résumé) https://blog.csdn.net/sevenjoin/java/article/details/88420885
Utilisez tuple en C ++ https://blog.csdn.net/xiahn1a/article/details/41670203
Java元组Tuple介绍与使用 https://blog.csdn.net/u013412772/article/details/74298257
转载本站文章《TS数据类型:从C++/Java/Python到TS看元组tuple—元组的来龙去脉》,
请注明出处:https://www.zhoulujun.cn/html/webfront/ECMAScript/typescript/2020_0413_8380.html