String in einer Zeile mit Alphabet füllen?

Willibergi

Mitglied
Ich habe folgenden Code:

Java:
        StringBuilder alphabet = new StringBuilder();

        for(int i = 'a'; i <= 'z'; i++) alphabet.append(Character.toChars(i));

Das funktioniert auch wunderbar.
Nur frage ich mich, ob es vielleicht eine kürzere Schreibweise dafür gibt, vielleicht mit Lamda-Ausdrücken oder per Stream-API.

Ich meine, dass ich dieses Stück Code nur in einer Zeile kürzer schreiben kann.

Geht das?
 

Nuiton

Bekanntes Mitglied
Java 8:
Java:
StringBuilder sb =newStringBuilder();
IntStream.range('a','z').forEach(i ->{
    sb.append((char) i);
    System.out.println(sb.toString());
});
 

thecain

Top Contributor
Java:
IntStream.rangeClosed('a','z')
         .mapToObj(c ->""+(char) c)
         .forEach(System.out::println);
wäre vorzuziehen. v.a. fehlt dir z
 

stg

Top Contributor
Deine ursprüngliche Variante mit ein wenig Zeichen-Fuchserei:

Code:
String a = "";

for(char c=97;c<='z';)a+=c++;
 

JCODA

Top Contributor
Dir ist aber bewusst, dass das die absolut schlechteste Alternative waere, was Performance angeht, oder?
Dir ist bewusst, dass die beste Alternative, was Performance angeht lautet: final String abc = "abcdefghijklmnopqrstuvwxyz";
Klar ein Hinweis auf StringBuilder ist nicht verkehrt. Aber sollte das wirklich "genutzt" werden und nicht nur eine Übung sein, würde ich diese Variante mit der Konstanten wählen.
 

stg

Top Contributor
Dir ist aber bewusst, dass das die absolut schlechteste Alternative waere, was Performance angeht, oder?

Natürlich ist das Murks. Viel gravierender als schlechte Performance (den Punkt finde ich hier tatsächlich vernachlässigbar, wir haben ja konstante Laufzeit. Und das erzeugen von 26 String Objekten geht so rasend schnell, dass man das vermutlich kaum messen kann. Viel schlimmer finde ich die Lesbarkeit. Man muss erst mal überlegen, was der Code denn machen soll. DAS wäre der Hauptgrund, wieso ich die Code-Zeile in einem Review jedem um die Ohren knallen würde...)

Wer darauf aus ist etwas mit möglichst wenig Zeichen zu schreiben, dem ist das Laufzeitverhalten aber normalerweise herzlichst egal. Ich sehe hier einfach eine "Knobelaufgabe".

In meinem eigenen Code bevorzuge ich im konkreten Fall die Variante von JCODA.
 
X

Xyz1

Gast
Sieht aus wie hingek...
Java:
for(char c=97;c<='z';)a+=c++;

1) eine Leerzeile dürfte schon hin,
2) sicher, dass er nicht Zahlen interpretiert?

Wenn nicht, müsste c++ etwas anderes sein als c + 1. :(
 

stg

Top Contributor
Dass man Code so nicht schreiben sollte, habe ich ja selbst schon gesagt. Aber ja, ich bin mir sicher, dass er funktioniert. Ich habe nur den Fokus darauf gelegt in der ursprünglich vorgeschlagenen Code-Zeile die notwendingen Zeichen zu minimieren, da ich die TE so verstanden habe, dass genau das so gewünscht war.

Ungeachtet dessen verstehe ich deine Einwände (rein sprachlich) nicht wirklich. Wenn du tatsächlich eine Frage dazu hast, dann formuliert sie doch noch einmal um, so dass sie besser verständlich ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
S Gesamten String in einer Zeile ausgeben Java Basics - Anfänger-Themen 2
Burny91 FileReader / FileWriter / BufferedWriter An einer bestimmten Zeile String ersetzten Java Basics - Anfänger-Themen 2
Developer_X jede Zeile einer Datei mit einem String verketten Java Basics - Anfänger-Themen 16
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15
H Erste Schritte Nach einer Zahl n soll n Mal der String untereinander ausgegeben werden Java Basics - Anfänger-Themen 3
O Ich habe einen String und soll mit matches schauen, ob ein Buchstabe zu einer geraden ANzahl im String vorkommt, wie soll das gehen? Java Basics - Anfänger-Themen 7
A eine neue normale String-Array von einer String-Array, die in for schleife ist, schaffen Java Basics - Anfänger-Themen 3
J String Problem kann das einer erklären Java Basics - Anfänger-Themen 13
J Aufruf einer Methode über einen String Java Basics - Anfänger-Themen 11
geekex Double zu String umwandeln in einer Methode Java Basics - Anfänger-Themen 28
J String splitten und weiter einarbeiten in einer Methode? Java Basics - Anfänger-Themen 11
Alex/89 String in einer txt ersetzen Java Basics - Anfänger-Themen 15
OlafHD String in einer If-Anweisung Vergleichen Java Basics - Anfänger-Themen 2
A Folgende Nullen einer Kommazahl aus String entfernen Java Basics - Anfänger-Themen 3
S Datentypen Mit einer Methode String arrays geben Java Basics - Anfänger-Themen 9
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
A Variablen Übergeben des Inhalts einer Variable in einen String Java Basics - Anfänger-Themen 17
J Int Array und String in einer neuen Methoder übergeben Java Basics - Anfänger-Themen 7
G Teil einer String speichern Java Basics - Anfänger-Themen 4
D Name einer Variable als String nutzen Java Basics - Anfänger-Themen 13
J Einem String-Array in einer for-Schleife Strings zuweisen - Klappt nicht in einer for-Schleife Java Basics - Anfänger-Themen 5
L Aus einer String Variablen ein Objekt erstellen Java Basics - Anfänger-Themen 14
L Problem beim Einlesen einer Datei in einen String Java Basics - Anfänger-Themen 12
H string zu einer Gleitkommazahl zusammenführen Java Basics - Anfänger-Themen 20
B Wert einer String Variable an andere String Variable in anderer Klasse uebergeben Java Basics - Anfänger-Themen 5
F ComboBox sowie String in einer JTable Spalte Java Basics - Anfänger-Themen 2
T String aus einer ArrayList suchen Java Basics - Anfänger-Themen 7
D Datentypen TreeSet aus einer List<String[]> befüllen Java Basics - Anfänger-Themen 18
vandread Kann in einer String-ArrayList keine Zeichen anhängen Java Basics - Anfänger-Themen 5
S Datentypen String mit fester Länge (Rückgabewert einer Methode) Java Basics - Anfänger-Themen 2
H String in Methode einer anderen Klasse übergeben Java Basics - Anfänger-Themen 5
Z Kann man String[] in einer ArrayList verwenden? Java Basics - Anfänger-Themen 3
A String[] array in vertikale Spalte einer JTable ausgeben? Java Basics - Anfänger-Themen 8
M String nach einer bestimmten Anzahl von Zeichen trennen Java Basics - Anfänger-Themen 2
H String an Ende einer text File anhängen Java Basics - Anfänger-Themen 2
T charAt funktion mit einer string zeichenkette nutzen. WIE? Java Basics - Anfänger-Themen 13
F Kann man den Namen einer Variable in ein String Konvertieren Java Basics - Anfänger-Themen 2
H String aus einer Klasse in die andere ! Java Basics - Anfänger-Themen 9
B Position einer Ziffer im String bestimmen Java Basics - Anfänger-Themen 4
D String/StringBuffer mit Zeichen einer Sorte füllen Java Basics - Anfänger-Themen 14
N Ausgabe des Inhalts eines String Arrays in einer ArrayList Java Basics - Anfänger-Themen 4
J String von einer an die andere Klasse übergeben? Java Basics - Anfänger-Themen 11
J Lesen einer Datei in einen String oder Char? Java Basics - Anfänger-Themen 3
T In einer HashMap einen String löschen Java Basics - Anfänger-Themen 20
A String Zeichen löschen in einer bestimmten Reihenfolge Java Basics - Anfänger-Themen 25
A String von einer Klasse in die ander zu bringen Java Basics - Anfänger-Themen 10
R in einem string nach einer zahl suchen und auslesen...... Java Basics - Anfänger-Themen 3
D String Groß/Kleinschreibung Ignorieren Java Basics - Anfänger-Themen 4
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
Kartoffel_1 String transformation Java Basics - Anfänger-Themen 7
H String-Operation replace() - Zeichenkette verdoppeln Java Basics - Anfänger-Themen 2
K String analysieren Java Basics - Anfänger-Themen 27
Beowend String zu Date parsen Java Basics - Anfänger-Themen 1
Beowend String auf Satzzeichen überprüfen? Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
I Sass Compiler und String erhalten? Java Basics - Anfänger-Themen 7
Avalon String in Double bzw. Währung konvertieren Java Basics - Anfänger-Themen 6
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
N String überprüfen Java Basics - Anfänger-Themen 3
E String zerlegen aus args Java Basics - Anfänger-Themen 1
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
J String Filter Java Basics - Anfänger-Themen 5
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Größter zusammenhängender Block gleicher Zeichen im String Java Basics - Anfänger-Themen 1
XWing Randomizer mit einem String Java Basics - Anfänger-Themen 2
D 2D Char Array into String Java Basics - Anfänger-Themen 2
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
I Zerlegen von String Java Basics - Anfänger-Themen 3
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
I String Java Basics - Anfänger-Themen 4
I API - zurückgegebener JSON String lesen und in Entity konvertieren Java Basics - Anfänger-Themen 2
H Zu langen String aufteilen - bequeme Methode? Java Basics - Anfänger-Themen 14
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
M Kommandozeilenparamter als EINEN String werten Java Basics - Anfänger-Themen 5
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
Substring in einem String finden Java Basics - Anfänger-Themen 13
BeginnerJava String mit vorgegebener Länge und Buchstaben erzeugen/ mit Leerstellen Java Basics - Anfänger-Themen 8
I Eindeutiger String mit maximaler Anzahl an Zeichen Java Basics - Anfänger-Themen 11
H Interface Wieso "List<String> list = new ArrayList<>[…]" Java Basics - Anfänger-Themen 4
JavaBeginner22 Integer in String umwandeln Java Basics - Anfänger-Themen 7
HolyFUT JSON String in Java Object schreiben - Anführungszeichen rauskriegen? Java Basics - Anfänger-Themen 17
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
HolyFUT Input/Output Leerzeichen aus String entfernen - klappt nicht! Java Basics - Anfänger-Themen 13
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
Alen123 String wiederholen mit Schleifen Java Basics - Anfänger-Themen 1
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben