[Swift5] Comment obtenir un tableau et un ensemble de différences entre les tableaux

Méthode

(Prenons le cas de l'exécution de array1 --array2.)

  1. Combinez array1 et array2 et convertissez en Set
  2. Supprimez les éléments de array2 du résultat de 1

code

let array1 = ["a", "b", "c", "d", "e"]
let array2 = ["a", "c", "e"]

let unionSet = Set(array1 + array2)
let diffArray = Array(unionSet.subtracting(array2))
print(diffArray)
// ["b", "d"]

Vous pouvez faire de même pour vos propres structures.

struct Food: Hashable {
    //Méthode de protocole hashable
    static func == (lhs: Food, rhs: Food) -> Bool {
        return (lhs.name == rhs.name) && (lhs.price == rhs.price)
    }
    
    let name: String
    let price: Int
}

let food1 = Food(name: "ramen", price: 800)
let food2 = Food(name: "Udon", price: 700)
let food3 = Food(name: "Soba", price: 600)

let myFavoriteFood = [food1, food2, food3]
let yourFavoriteFood = [food1]

let unionSet = Set(myFavoriteFood + yourFavoriteFood)
let diffArray = Array(unionSet.subtracting(yourFavoriteFood))
print(diffArray[0], diffArray[1])
// Food(name: "Udon", price: 700) Food(name: "Soba", price: 600)

Recommended Posts

[Swift5] Comment obtenir un tableau et un ensemble de différences entre les tableaux
[Swift] Comment obtenir le nombre d'éléments dans un tableau (super basique)
[Swift] Comment obtenir l'ID de document Firebase
[Rails] Comment obtenir l'URL de la source de transition et la rediriger
Comment obtenir la longueur d'un fichier audio avec Java
[Swift5] Comment analyser un JSON complexe et obtenir l'index de l'élément qui satisfait la condition
Comment obtenir le jour d'aujourd'hui
[Swift] Résumé de la suppression des éléments d'un tableau (mémo personnel)
Comment convertir un tableau de chaînes en un tableau d'objets avec l'API Stream
Obtenez le type d'un élément d'un tableau pour déterminer s'il s'agit d'un tableau
[Java] Comment obtenir l'URL de la source de transition
Comment obtenir l'ID d'un utilisateur qui s'est authentifié avec Firebase dans Swift
Convertit le tableau d'erreurs.full_messages en caractères et sortie
[Java] Exemple de programme qui acquiert les valeurs maximum et minimum d'un tableau
[Java] Comment obtenir la valeur maximale de HashMap
[Android] Comment obtenir la langue de réglage du terminal
[Rails] Comment obtenir le contenu des paramètres forts
Comment demander en passant un tableau à une requête avec le client HTTP de Ruby
Une version Java non prise en charge Comment se débarrasser des erreurs
Comment récupérer la valeur de hachage dans un tableau dans Ruby
Comment obtenir les informations les plus longues de Twitter à partir du 12/12/2016
Comment ajouter des éléments sans spécifier la longueur du tableau
Comment vérifier l'extension et la taille des fichiers téléchargés
[jsoup] Comment obtenir la totalité de la documentation
Comment spécifier un tableau pour la valeur de retour / l'argument d'une méthode dans le fichier IDL CORBA
Comment définir l'adresse IP et le nom d'hôte de CentOS8
Comment afficher la valeur lorsqu'il y a un tableau dans le tableau
Comment obtenir le contenu de la carte à l'aide du mémorandum d'instructions
L'histoire de toString () commençant par le passage d'un tableau à System.out.println
Méthode pour additionner le nombre d'années et obtenir la fin du mois
Comment obtenir l'identifiant de la clé PRIMAY incrémentée automatiquement dans MyBatis
[Java] Comment convertir du type String en type Path et obtenir le chemin
Comparer les éléments d'un tableau (Java)
Comment déterminer le nombre de parallèles
[Java] Comment obtenir le répertoire actuel
Convertir un tableau de chaînes en nombres
Comment trier une liste de SelectItems
Comment trouver les dizaines et les unités
Comment obtenir la date avec Java
Comment modifier le nombre maximum et maximum de données POST dans Spark
[Java] Comment accéder au début d'une chaîne spécifique à l'aide de la classe String
Comment obtenir le chemin absolu d'un répertoire s'exécutant en Java
[Cas d'amélioration Java] Comment atteindre la limite de l'auto-apprentissage et au-delà
[Pour les débutants Rails] Résumé de l'utilisation de RSpec (obtenir un aperçu)
[swift5] Comment changer la couleur de TabBar ou la couleur de l'élément de TabBar avec le code
Comment créer votre propre annotation en Java et obtenir la valeur
Promesse JDBC et exemple d'écriture
Personnalisez la répartition du contenu de Recyclerview
Comment utiliser un tableau pour les clés HashMap