83 votes

Meilleure façon de générer un tableau de toutes les lettres de l'alphabet

En ce moment, je fais

for (char c = 'a'; c <= 'z'; c++) {
    alphabet[c - 'a'] = c;
}

mais y a-t-il une meilleure façon de procéder ? Semblable à la fonction 'a' to 'z'

2voto

Mahozad Points 1573

Pour les développeurs Android qui cherchent une solution Kotlin et qui aboutissent ici :

// Creates List<Char>
val chars1 = ('a'..'z').toList()

// Creates Array<Char> (boxed)
val chars2 = ('a'..'z').toList().toTypedArray()

// Creates CharArray (unboxed)
val chars3 = CharArray(26) { 'a' + it }

// Creates CharArray (unboxed)
val chars4 = ('a'..'z').toArray()
fun CharRange.toArray() = CharArray(count()) { 'a' + it }

Pour savoir ce que j'entends par "boxé" et "non boxé", voir ce poste .
Un grand merci à ce fil de discussion sur Kotlin .

0voto

Sergi Points 3
char[] abc = new char[26];

for(int i = 0; i<26;i++) {
    abc[i] = (char)('a'+i);
}

0voto

n1234 Points 610

Utiliser les flux de Java 8

  char [] alphabets = Stream.iterate('a' , x -> (char)(x + 1))
            .limit(26)
            .map(c -> c.toString())
            .reduce("", (u , v) -> u + v).toCharArray();

0voto

applecrusher Points 954

Pour obtenir des lettres majuscules en plus des lettres minuscules, vous pouvez également procéder comme suit :

String alphabetWithUpper = "abcdefghijklmnopqrstuvwxyz" + "abcdefghijklmnopqrstuvwxyz".toUpperCase();
char[] letters = alphabetWithUpper.toCharArray();

-1voto

Anonymous Points 1
import java.util.*;
public class Experiments{

List uptoChar(int i){
       char c='a'; 
        List list = new LinkedList();
         for(;;) {
           list.add(c);
       if(list.size()==i){
             break;
           }
       c++;
            }
        return list;
      } 

    public static void main (String [] args) {

        Experiments experiments = new Experiments();
          System.out.println(experiments.uptoChar(26));
    }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X