JavaRush /Blog Java /Random-FR /Pause café #115. Un moyen simple de regrouper des objets ...

Pause café #115. Un moyen simple de regrouper des objets en Java. Méthode charAt() - comment l'utiliser en Java

Publié dans le groupe Random-FR

Un moyen simple de regrouper des objets en Java

Source : Dev.to Dans cet exemple, nous apprendrons comment simplifier le regroupement des objets Map qui contiennent des collections comme valeurs. Pause café #115.  Un moyen simple de regrouper des objets en Java.  Méthode charAt() - comment l'utiliser en Java - 1Par exemple, nous avons un objet Map où la clé est un entier et les valeurs sont un tableau de chaînes :
Grouper<Integer, String> grouper = new ArrayListGrouper<>();
        grouper.put(1, "a");
        grouper.put(1, "b");
        grouper.put(1, "c");
        grouper.put(1, "c");
        grouper.put(2, "c");
Résultat:
{1=[a, b, c, c], 2=[c]}
Il ne nous reste plus qu'à définir la stratégie de regroupement. Par exemple, la classe ArrayListGrouper déjà définie utilise ArrayList comme stratégie . Nous pouvons toujours définir un nouveau Grouper qui utilisera un GroupingStrateg différent . Modifions maintenant ArrayList en HashSet pour rendre les éléments uniques :
public class HashSetGrouper<K, V> extends Grouper<K, V> {

    public HashSetGrouper() {
        super(HashSet::new);
    }
}
Ensuite on teste :
@Test
    public void testHashSetGrouper() {
        Grouper<Integer, String> grouper = new HashSetGrouper<>();
        grouper.put(1, "a");
        grouper.put(1, "b");
        grouper.put(1, "c");
        grouper.put(1, "c");
        grouper.put(2, "c");
        System.out.println(grouper);

    }
Résultat:
{1=[a, b, c], 2=[c]}
La clé 1 possède désormais un ensemble dans lequel la valeur c n'est pas répétée. L'exemple de code est publié sur Github .

Méthode charAt() - comment l'utiliser en Java

Source : FreeCodeCamp La méthode charAt() en Java renvoie la valeur du caractère char dans une chaîne à un index donné ou spécifié. Aujourd'hui, nous allons voir comment utiliser la méthode charAt() , en commençant par sa syntaxe, puis examiner quelques exemples et cas d'utilisation.

Comment utiliser la méthode Java charAt()

Voici à quoi ressemble la syntaxe de la méthode charAt() :
public char charAt(int index)
Notez que les caractères renvoyés par une chaîne à l'aide de la méthode charAt() sont du type de données char . Nous verrons comment cela affecte la concaténation des valeurs de retour dans un instant. Voyons maintenant des exemples :
public class Main {
  public static void main(String[] args) {

    String greetings = "Hello World";

    System.out.println(greetings.charAt(0));
    // H
  }
}
Dans le code ci-dessus, notre chaîne, stockée dans une variable appelée Greetings , dit « Hello World ». Nous avons utilisé la méthode charAt() pour obtenir le caractère à l'index 0. Ce caractère est la lettre H. Le premier caractère sera toujours à l'index 0, le second à l'index 1, et ainsi de suite. L'espace entre les sous-chaînes est également considéré comme un index. Dans l'exemple suivant, nous verrons ce qui se passe lorsque nous essayons de connecter différents caractères renvoyés. La concaténation signifie joindre deux ou plusieurs valeurs ensemble (dans la plupart des cas, le terme est utilisé pour connecter des caractères ou des sous-chaînes dans une chaîne).
public class Main {
  public static void main(String[] args) {
    String greetings = "Hello World";

    char ch1 = greetings.charAt(0); // H
    char ch2 = greetings.charAt(4); // o
    char ch3 = greetings.charAt(9); // l
    char ch4 = greetings.charAt(10); // d

    System.out.println(ch1 + ch2 + ch3 + ch4);
    // 391
  }
}
En utilisant la méthode charAt() , nous avons obtenu les caractères avec les index 0, 4, 9 et 10, qui sont respectivement les lettres H, o, l et d. Nous avons ensuite essayé d'imprimer et de relier ces caractères :
System.out.println(ch1 + ch2 + ch3 + ch4);
Mais au lieu de renvoyer « Hold », nous avons obtenu 391. En effet, les valeurs renvoyées ne sont plus des chaînes, mais sont de type char . Ainsi, lorsque nous les concaténons, l’interpréteur ajoute à la place leur valeur ASCII. H a une valeur ASCII de 72, o a une valeur de 111, l a une valeur de 108 et d a une valeur de 100. Si nous les additionnons, nous obtenons 391, qui a été renvoyé dans le dernier exemple.

Erreur StringIndexOutOfBoundsException

Lorsque nous transmettons un numéro de séquence supérieur au nombre de caractères de notre chaîne, nous obtenons une erreur StringIndexOutOfBoundsException dans la console. Cette erreur s'applique également à l'utilisation de l'indexation négative, qui n'est pas prise en charge en Java. Dans les langages de programmation comme Python qui prennent en charge l'indexation négative, passer -1 vous donnera le dernier caractère ou valeur de l'ensemble de données, de la même manière que 0 renvoie toujours le premier caractère. Voici un exemple :
public class Main {
  public static void main(String[] args) {
    String greetings = "Hello World";

    char ch1 = greetings.charAt(20);

    System.out.println(ch1);

    /* Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 20
    */
  }
}
Dans le code ci-dessus, nous avons passé l'index 20 : char ch1 = Greetings.charAt(20); , qui dépasse le nombre de caractères dans notre variable de salutations , nous avons donc eu une erreur. Vous pouvez voir le message d'erreur commenté dans le bloc de code ci-dessus. De même, si nous passons une valeur négative comme celle-ci : char ch1 = Greetings.charAt(-1); , alors nous obtenons une erreur similaire.

Conclusion

Dans cet article, nous avons appris à utiliser la méthode charAt() en Java. Nous avons vu comment renvoyer des caractères dans une chaîne en fonction de leur numéro d'index et ce qui se passe lorsque nous concaténons ces caractères. Nous avons également parlé de certains cas où vous pouvez obtenir une réponse d'erreur lors de l'utilisation de la méthode charAt() en Java.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION