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

Android Discussion :

Type Set avec Android


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut Type Set avec Android
    Bonjour à toutes et à tous,

    Dans une application que j'avais écrite en Pascal, j'utilisais le type Set qui permettait de jouer sur une ensemble de 256 valeurs (byte) max. C'est limité, mais facile d'emploi : on utilise les signe "+" et "-" pour ajouter, enlever et "in" ou voir si un élément appartient à cet ensemble. Mes éléments sont limités ; ce sont des bytes et il y en a seulement quelques unités. Du genre en Pascal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      TOrientation = (Hor, Ver, Gauche, Bas, Droite, Haut);
      TDestination = (Imprimante, PressePapier);
      TCoin = (CoinHG, CoinBG, CoinBD, CoinHD, Ailleurs);
    Portant mon projet sous Android, le type le plus ressemblant semble être HashSet. Est-ce le cas ? le plus simple ?

    Cordialement.

    Pierre

  2. #2
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Tout ce qui implémente l'interface Set fait l'affaire. HashSet est une possibilité en effet.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Je viens de constater que HasSet ne joue au minimum qu'avec des objets. Existe-t-il une classe faisant la même chose mais avec des variables simples ; des entiers par exemple.

    Cordialement.

    Pierre

  4. #4
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Effectivement, ce sont des classes génériques, donc nécessairement paramétrées par des classes (Integer dans ton cas). Mais grâce à l'auto-boxing, tu peux y insérer/récupérer des bons vieux int, la conversion sera réalisée automatiquement.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  5. #5
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Il n'en reste pas moins qu'à la base, HashSet joue avec des objets. Je ne suis pas attaché aux int ou autres, je cherchais simplement à savoir si il existait une claas toute simple manipulant quelques entiers à la mode "ensemble".

    Dans mon cas, par exemple, je peux très bien remplacer le set Pascal TPosition = (HAUT, GAUCHE, BAS, DROIT) où chaque élément est bêtement son numéro d'ordre lors de la définition de TPosition, par un jeu d'objets, que je suppose simple comme le String, ce qui donnerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set<String> position = new HashSet();
    position.add("DROITE");
    position.add("HAUT");
    position.add("GAUCHE");
    position.add("BAS");
    ");

    Je me dis simplement que le temps d'exécution sur des objets doit être bien plus long et couteux en espace mémoire qu'une simple recherche/placement d'entiers ?

    Il faut m'excuser, j'ai débuté l'informatique en Pascal avec des disques durs gigantesques de quelques dizaines de kilo-octets et je n'arrive pas toujours à perdre ces vieux réflexes de tout vouloir minimiser .

    Maintenant, dans mon cas, cela n'a aucune espèce d'importance.

    Cordialement.

    Pierre

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Et un simple enum ne conviendrait pas ?
    https://docs.oracle.com/javase/tutor...vaOO/enum.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public enum Orientation {
        HORIZONTAL, 
        VERTICAL, 
        GAUCHE
    }
    Après tu n'as plus qu'à utiliser Orientation.MAVALEUR là où tu en as besoin. C'est une exemple simple , mais les enum peuvent être plus complexes (avec notamment des méthodes permettant d'extraire des valeurs)
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Au lieu d'une collection, je verrai bien une énumération dans ton cas.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

Discussions similaires

  1. Déclaration de procédure avec un champ type SET
    Par laboreau_tony dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 21/12/2009, 04h09
  2. [VB.NET] Variable de type enum avec du string
    Par Mouse dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/01/2005, 18h22
  3. Comment Enregistrer un champ type BLOB avec Query ???
    Par baba dans le forum Bases de données
    Réponses: 3
    Dernier message: 11/01/2005, 20h33
  4. [LG]Type chaine avec plus de 255 car et EOF intempestif.
    Par jpclabaux dans le forum Langage
    Réponses: 2
    Dernier message: 27/10/2004, 10h39
  5. Type pour données de type email avec @
    Par jeff37 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/01/2004, 14h50

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