string arraylist untersuchen frage

maXXX12345

Aktives Mitglied
Sehr geehrte Damen und Herren,

ich bitte sie, mir folgende Frage zu beantworten:

Ich möchte eine ArrayList<String> auf bestimmte Zeichenfolgen untersuchen und die Anzahl, wie oft diese vorkommen, zurückgeben.

Benutze dazu unten stehenden Code.

Jedoch bricht die Laufvaribale i viel zu früh ab.

Wieso?

(Anm.: Die Variable max ist normalerweise größer als 20000)

Ist in diesem Code nur ein kleine Fehler oder ist meine Methode
für mein Vorhaben grundsätzlich falsch?

Vielen dank für ihre Antworten im Vorraus!

Mit freundlichen Grüßen

-----------------------------------------------------------------
Java:
import java.util.*;

class zahelenlernen{

int zaehlen(ArrayList<String> quelltext) {

   int zaehlerderjpg = 0;

   int max = (quelltext.size()-2);

   for(int i = 0; i < max; i++){ 

   if(
quelltext.get(i+1) == "j"
      && quelltext.get(i+2) == "p" && 
quelltext.get(i+3) == "g") {

   zaehlerderjpg++;
   }
   }

   return zaehlerderjpg;

}

}
----------------------------------------------------------------
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
wie kann man einen vorzeitigen Abbruch einer Java-Schleife feststellen? das wäre ja mal interessant zu erfahren,
bei mir funktioniert der Code im Rahmen seiner Grenzen, jpg wird z.B. nur gefunden wenn im Quelltext direkt eingefügt,
besser wäre String-Vergleich mit equals

Leerzeilen zwischen jeder Zeile im Posting + Quellcode sowie fehlende Java-Tags sind übrigens störend,
kleingeschriebene Klassennamen auch nicht gut, besonder noch mit Tippfehlern..

Java:
public class Test {
    public static void main(String[] args)  {
        ArrayList<String> list = new ArrayList<String>();
        for (int i = 0; i < 10000; i++) {
            list.add("x");
        }
        list.add("j");
        list.add("p");
        list.add("g");
        System.out.println(new zahelenlernen().zaehlen(list));
    }
}


class zahelenlernen {

    int zaehlen(ArrayList<String> quelltext)   {
        int zaehlerderjpg = 0;
        int max = (quelltext.size() - 2);
        for (int i = 0; i < max; i++) {
            if (quelltext.get(i + 1) == "j" && quelltext.get(i + 2) == "p" && quelltext.get(i + 3) == "g")     {
                zaehlerderjpg++;
            }
        }
        return zaehlerderjpg;
    }
}
 
J

jpgbild

Gast
Vereinfachen wir lieber:

Java:
        char[] ca = "hallojpgundjpg!".toCharArray();

        int count = 0;

        for (int i = 0; i < ca.length - 2; i++) {
            if (ca[i] == 'j' && ca[i + 1] == 'p' && ca[i + 2] == 'g') {
                count++;
                i += 2; // für p + g nicht prüfen
            }
        }

        System.out.println("count: " + count);

Und warum so formell
 
J

jpgbild

Gast
Oder so (sehr kryptisch):

Java:
        char[] ca = "hallojpgundjpg!".toCharArray();
        char[] ca2 = "jpg".toCharArray();

        int count = 0;

        for (int i = 0; i < ca.length - ca2.length + 1; i++) {
            int j = -1;
            while (++j < ca2.length && ca[i + j] == ca2[j])
                ;
            if (j == ca2.length) {
                count++;
                i += ca2.length - 1;
            }
        }

        System.out.println("count: " + count);

Die Vorteile liegen auf der Hand und mit dem Post-Inkrementoperator spart man sich fünf Zeichen ({j=j})
 

Surras

Mitglied
den inhalt eines Strings könnte man doch auch mit String.contains("jpg"); überprüfen. So muss er nicht komplett identisch (*edit*) sein und er überprüft es. Sollte er das erste gefunden haben geht man mit String.IndexOf(); an die Stelle nach dem 'jpg' gefunden wurde und sucht ab da weiter. oder ist dies zu umständlich?
 
J

jpgbild

Gast
den inhalt eines Strings könnte man doch auch mit String.contains("jpg"); überprüfen. So muss er nicht komplett identisch (*edit*) sein und er überprüft es. Sollte er das erste gefunden haben geht man mit String.IndexOf(); an die Stelle nach dem 'jpg' gefunden wurde und sucht ab da weiter. oder ist dies zu umständlich?

klar, es gibt auch andere Mechanismen. Aber die Frage ist halt, inwieweit man was implementieren soll, auf API zurückgreifen soll oder was wodurch lernen soll.
Let me google that for you
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
H Interface Wieso "List<String> list = new ArrayList<>[…]" Java Basics - Anfänger-Themen 4
L ArrayList<String> --> double[] array Java Basics - Anfänger-Themen 18
J ArrayList Name mit String erstellen Java Basics - Anfänger-Themen 8
BadBat ArrayList<String> sort by last word Java Basics - Anfänger-Themen 8
M ArrayList- größten String printen Java Basics - Anfänger-Themen 30
P Input/Output Arraylist nach String eines Objekts durchsuchen Java Basics - Anfänger-Themen 26
S String splitten und in ArrayList speichern Java Basics - Anfänger-Themen 4
N String ArrayList ohne Wiederholungen Java Basics - Anfänger-Themen 7
T String ArrayList Java Basics - Anfänger-Themen 7
B ArrayList<ArrayList<ArrayList<String>>> Java Basics - Anfänger-Themen 10
V Arraylist: Zählen welcher String am Häufigsten vorkommt Java Basics - Anfänger-Themen 5
S ArrayList<Byte> in String umwandeln Java Basics - Anfänger-Themen 5
L ArrayList als String ausgeben Java Basics - Anfänger-Themen 4
M ArrayList<String> alphabetisch sortieren Java Basics - Anfänger-Themen 5
R ArrayList<String> Komma oder Punkt "replacen" Java Basics - Anfänger-Themen 5
F ArrayList<ArrayList<String>> to String[][] umwandeln? Java Basics - Anfänger-Themen 9
Binary.Coder List bzw. ArrayList als String ausgeben Java Basics - Anfänger-Themen 2
M Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String; Java Basics - Anfänger-Themen 11
T String aus einer ArrayList suchen Java Basics - Anfänger-Themen 7
StrikeTom Prüfen ob ArrayList string enhält! Wie??? Java Basics - Anfänger-Themen 5
2 Datentypen Kurze Schreibform bei ArrayList (Vs String Array) Java Basics - Anfänger-Themen 6
vandread Kann in einer String-ArrayList keine Zeichen anhängen Java Basics - Anfänger-Themen 5
A Datentypen Typ der Arraylist in String umwandeln Java Basics - Anfänger-Themen 23
X ArrayList to String[][] für JTable Java Basics - Anfänger-Themen 9
M Längster String in Arraylist Java Basics - Anfänger-Themen 2
D ArrayList<String> to Combobox Java Basics - Anfänger-Themen 7
M ArrayList, String Array und IndexOutOfBoundsException Java Basics - Anfänger-Themen 2
N Map<String, HashSet<String>> Umwandeln in Map<String, ArrayList<String>> Java Basics - Anfänger-Themen 14
Z Kann man String[] in einer ArrayList verwenden? Java Basics - Anfänger-Themen 3
C Arraylist mit string array oder hashmap oder objekt? Java Basics - Anfänger-Themen 5
G Arraylist<String> füllen Java Basics - Anfänger-Themen 3
H ArrayList<String> und ArrayList<String[]> Java Basics - Anfänger-Themen 12
G ArrayList<String> durchsuchen Java Basics - Anfänger-Themen 8
C Long -> String -> ArrayList adden -> Exception Java Basics - Anfänger-Themen 4
G String auslesen bzw. arraylist speichern und laden Java Basics - Anfänger-Themen 14
N Ausgabe des Inhalts eines String Arrays in einer ArrayList Java Basics - Anfänger-Themen 4
F ArrayList zu String[] machen Java Basics - Anfänger-Themen 2
U casting: ArrayList to String[] Java Basics - Anfänger-Themen 10
krgewb String mit Datumsangabe in Long umwandeln Java Basics - Anfänger-Themen 2
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
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
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
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
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
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen 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 RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
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
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
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15
T String Array Fehler beim Index Java Basics - Anfänger-Themen 3
H Erste Schritte Nach einer Zahl n soll n Mal der String untereinander ausgegeben werden 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
T String splitten Java Basics - Anfänger-Themen 3
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
T Platzhalter in String? Java Basics - Anfänger-Themen 14
M String mit Variable vergleichen Java Basics - Anfänger-Themen 9
I String Kombination erstellen anhand fortlaufender Zahl (Vertragsnummer) Java Basics - Anfänger-Themen 13
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben