Kotlin map() réutilise la même valeur

Raymond Chenon

j'ai la méthode suivante

    val dateFormat = SimpleDateFormat("yyyy-MM-dd")
    fun parseBirthdateLines(paragraph: String): List<Pair<Date, String>> {
        val lines = paragraph.split("\n")
        return lines.map { l -> Pair(dateFormat.parse(l.split(" ")[0]), l.split(" ")[1]) }
    }

l.split(" ")est appelé deux fois.

Comment écrire de manière plus intelligente dans un style de programmation fonctionnelle ?

PS 1 : je suis curieux d'avoir une solution avec foldsi possible

PS 2 : Pour plus de lisibilité, la version originale a été écrite comme

 fun parseBirthdateLines(paragraph: String): List<Pair<Date, String>> {
        val lines = paragraph.split("\n")

        var results = mutableListOf<Pair<Date, String>>()
        for (line in lines) {
            val content = line.split(" ")
            val date: Date = dateFormat.parse(content[0])
            val firstName = content[1]
            results.add(Pair(date,firstName))
        }
        return results
    }
Clément Jean

Je pense qu'il existe une manière plus fonctionnelle et optimisée d'écrire ceci, mais voici un pli de base + avec exemple :

val dateFormat = SimpleDateFormat("yyyy-MM-dd")

fun parseBirthdateLines(paragraph: String): List<Pair<Date, String>> {
   val lines = paragraph.split("\n")

    return lines.fold(listOf<Pair<Date, String>>()) { list, line -> 
        with (line.split(" ")) {
            list + Pair(dateFormat.parse(this[0]), this[1])
        }        
    }
}

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Pourquoi Rust réutilise-t-il la mémoire avec la même valeur

Comment attribuer la même valeur à plusieurs variables dans Kotlin

Comparer la valeur dans la même colonne dans R

Scala Map fusionne et additionne la valeur lorsque la clé est la même

répartir la même valeur dans plusieurs colonnes

Valeur du résultat sur la même ligne

R - Soustraire la même valeur de plusieurs colonnes

La valeur générée à partir de la plage a la même valeur de pointeur

Comptez la même valeur

Réagir: l'état Redux mis à jour dans un effet mais l'effet suivant dans le même composant utilise la valeur précédente de l'état

Vérifiez la même valeur, nous avons la même valeur unique dans l'autre colonne de R

Julia DefaultDict utilise la même valeur (tableau) pour chaque clé

Python attribue une valeur et utilise sur la même ligne

Même référence d'objet en utilisant la même valeur dans le constructeur

map qui renverra la même valeur par n'importe quelle clé String

Angular - Map / Catch renvoyant la même valeur mais recevant une erreur

Flutter dart Map avec plusieurs touches pour la même valeur

Google map api geocoder.geocode renvoie la même valeur

Pourquoi deux organigrammes configurent-ils exactement la même fin avec des résultats différents à chaque fois que la simulation est exécutée, même lorsque j'utilise une valeur de départ fixe ?

Flux Java 8 regroupant une liste <Map <>> par la même <clé, valeur> à une nouvelle liste <Map <>>

Comment écrire une clause WHERE qui utilise la valeur MIN () d'une colonne dans la même table?

J'ai utilisé la variable de registre pour stocker les valeurs de sortie de la tâche, donc j'utilise la même valeur dans la condition when du rôle ansible

Dans Oracle SQL, comment puis-je créer une table avec une règle pour qu'une valeur utilise par défaut un pourcentage d'une autre valeur dans la même ligne lors de l'insertion ?

Polymer récupère la valeur de retour de l'élément et utilise des méthodes d'instance

La propriété Kotlin déclarée comme non nullable est nullable même si elle a une valeur initialisée

Comment créer efficacement une chaîne avec une certaine longueur et la même valeur dans Kotlin

Fonction Kotlin qui renvoie 0 pour les valeurs négatives et la même valeur pour les valeurs positives

Comment créer une MutableMap avec toutes les clés initialement définies sur la même valeur dans Kotlin ?

Prédicat JAVA JPA - Récupérer la même valeur de colonne dans la condition OR

TOP liste

  1. 1

    comment afficher un bouton au-dessus d'un autre élément ?

  2. 2

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  3. 3

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

  4. 4

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  5. 5

    Conversion double en BigDecimal en Java

  6. 6

    Impossible d'accéder à la vue personnalisée pendant le test de l'interface utilisateur dans XCode

  7. 7

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  8. 8

    Passer la taille d'un tableau 2D à une fonction ?

  9. 9

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  10. 10

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  11. 11

    CSS: before ne fonctionne pas sur certains éléments,: after fonctionne très bien

  12. 12

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  13. 13

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  14. 14

    Exporter la table de l'arborescence vers CSV avec mise en forme

  15. 15

    Comment activer le message Pylint "too-many-locals" dans VS Code?

  16. 16

    Créer un système Buzzer à l'aide de python

  17. 17

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  18. 18

    Empêcher l'allocation de mémoire dans la génération de combinaison récursive

  19. 19

    Déplacement des moindres carrés d'ajustement pour les déplacements de points ayant des problèmes

  20. 20

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  21. 21

    Microsoft.WebApplication.targets

chaudétiquette

Archive