IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement de jobs Discussion :

Tableau d'entier dans une variable de contexte


Sujet :

Développement de jobs

  1. #1
    Membre actif
    Profil pro
    Gestionnaire de données
    Inscrit en
    Mars 2006
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 356
    Points : 248
    Points
    248
    Par défaut Tableau d'entier dans une variable de contexte
    Bonjour,

    Dans un tmap je dois vérifier si un entier (row1.mon_entier) appartient à une liste d'entiers.
    Par exemple : est-ce que l'entier row1.mon_entier est dans la liste (1,2,4,5,9)

    Je voudrais :

    1) Mettre cette liste en tant que variable de contexte

    2) Tester si un entier est dans cette liste

    Merci d'avance !

  2. #2
    Membre expérimenté Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 795
    Points : 1 685
    Points
    1 685
    Par défaut
    Avec une routine est le plus simple.

    Dans une routine
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
       public java.util.List<Integer> parseListInteger(String input, String separator) {
            final String[] stringValues = input.split(separator);
            java.util.List<Integer> list = new java.util.ArrayList<>();
            for(String s : stringValues) {
                list.add(Integer.valueOf(s));
            }
            return list;
        }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TaRoutine.parseListInteger(context.variable,",").contains(42)

    Si tu veux un peut de performance et garder ta liste en cache

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
        private java.util.Map<String, java.util.Map<String, java.util.List<Integer>>> cache;
     
        public java.util.List<Integer> parseListInteger(final String input, final String separator, final boolean useCache) {
            java.util.List<Integer> list = null;
            java.util.Map<String, java.util.List<Integer>> cacheBySeparator = null;
            if (useCache) {
                if (cache == null) {
                    cache = new java.util.HashMap<>();
                }
                cacheBySeparator = cache.get(separator);
                if (cacheBySeparator == null) {
                    cacheBySeparator = new java.util.HashMap<>();
                    cache.put(separator, cacheBySeparator);
                }
                list = cacheBySeparator.get(input);
     
            }
            if (list == null) {
                final String[] stringValues = input.split(separator);
                list = new java.util.ArrayList<>();
                for (final String s : stringValues) {
                    list.add(Integer.valueOf(s));
                }
                if (cacheBySeparator != null) {
                    cacheBySeparator.put(input, list);
                }
            }
            return list;
        }
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TaRoutine.parseListInteger(context.variable,",",true).contains(42)
    Pensez à marquer vos tickets comme résolus.
    Pensez aussi aux pour les réponses pertinantes

    Quand une discution est résolue depuis un moment pour revenir dessus, il est mieux d'en crée une nouvelle avec un lien vers l'autre car :
    • Elle sera en haut du forum, elle sera donc plus visible
    • Une discussion résolue, on ne passe pas dessus pour aider, on passe dessus si on a le même problème
    • Tu demandes surement à tes clients de faire le même

Discussions similaires

  1. Récupérer un entier dans une variable de type String
    Par JB122 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 06/06/2017, 00h21
  2. Réponses: 3
    Dernier message: 19/03/2007, 18h29
  3. [VBA-E]Recherche dans une variable tableau
    Par illight dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/12/2006, 17h50
  4. Réponses: 6
    Dernier message: 30/09/2006, 15h14
  5. [XSLT] Réutiliser un contexte mémorisé dans une variable
    Par camboui dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 02/01/2006, 12h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo