Kumulieren von Elementen in einen Array

minjin22

Mitglied
Hallo allerseits,

und zwar bräuchte ich Hilfe bei einer Schleife, die nicht ganz heute will (Kopfschmerzen).
Ich habe eine ArrayList des Typen String und es befinden sich Strings und leere Strings in ihr.

Hier ein Beispiel:

Java:
ArrayList<String> liste = new ArrayList<String>(); 
liste.add("Haus");
liste.add(""); 
liste.add("");
liste.add("Hund"); 
liste.add("");
liste.add(""); 

//usw.....

Diese Liste wird immer mit anderen Werten befüllt, das heißt ich weiß nicht was sich innen drin für Elemente befinden.

Nun wollte ich in einer neuen ArrayListe<Integer>, die befüllte Liste iterieren und schauen wieviele Elemente sich bis zum nächsten befinden.

Ein Bespiel:

Java:
int counter = 0;
 
ArrayList<Integer> sizeOfListe = new ArrayList<Integer>(); 

for(int i=0; i<liste.size(); i++) {

if(liste.get(i)=="") {
     count+=1;
if(liste.get(i)!="") {
    count+=1; 
    continue;
   sizeOfListe.add(count);

}
 } 
}


// Ergebnis des ganzen sollte sein

   sizeOfListe.get(0) = 3
   sizeOfListe.get(1) = 3


Ich habe überlegt das mit ein Iterator zu machen, aber ich habe heute so Kopfschmerzen das gar nix klappt. Falls ich auf eine Idee kommen, werde ich diesen Beitrag bearbeiten und die Lösung rein schreiben. Vielen Dank!

Bitte helft mir :rtfm::-(
 
Zuletzt bearbeitet von einem Moderator:

Natac

Bekanntes Mitglied
Was funktioniert denn bei deinem Ansatz nicht?

Auf den leeren String würde ich zwar mit "".equals(list.get(i)) prüfen, aber ansonsten müsste dein Ansatz doch funktionieren:

Java:
int countEmptyStringsOf(List<String> liste){
  int count = 0;
  for(int i=0; i<liste.size(); i++) {
    if("".equals(liste.get(i)) {
      count++;
    }
  } 
  return count;
}
 

minjin22

Mitglied
Ich möchte das die Elemente im Array gezählt werden, also das sogesagt Gruppen enstehen. Zum Beispiel

[0] = Hund+""+"" = 3 Elemente
[1] = Katze+""+"" = 3 Elemente

Ich möchte nicht wissen wieviel leerzeichen insgesamt in meiner ArrayListe sind.
 

Thallius

Top Contributor
Du mist das anders angehen.

Du setzt for der Schleife count auf 1 und läst die Schleife erst ab 1 und nicht ab 0 zählen.
Dann kommt als erstes ein IF ob der Inhalt (i) !="" ist. Wenn ja, dann addest du den count zu deiner Liste, setzt den count auf 1 und machst ein Continue. Hinter dem if machst du dann nur noch einen count++. Hinter dervschleife must du noch einen add machen mit dem aktuellen count um auch den letzten noch wegzuschreiben.

Gruss

Claus
 
Zuletzt bearbeitet:

arilou

Bekanntes Mitglied
Oh mann Thallius, aus der Beschreibung werd' ja nicht mal ich schlau, ohne es dreimal zu lesen.

Auf jeden Fall ist der Algorithmus Murks; neben handwerklichem (
  • heißt dein Zähler 'count' oder 'counter'?
  • Stringvergleiche immer mit .equals()
) ist auch die {}-Klammersetzung sicher nicht richtig.

Ich schage vor, du löschst das ganze nochmal, und schreibst es neu.
Beim zweiten Mal wird's gleich deutlich besser, glaub' mir.
(Hab' selbst schon mal ein und dasselbe Programm 5 Mal programmiert, danach war's Spitzenklasse ~ war aber noch zu Teenager-Zeiten; im Studium lernt man dann, wie man's beim 1. Mal akzeptabel und beim 2. Mal sehr gut hinkriegt :oops:)
 

Thallius

Top Contributor
Oh mann Thallius, aus der Beschreibung werd' ja nicht mal ich schlau, ohne es dreimal zu lesen.

Auf jeden Fall ist der Algorithmus Murks; neben handwerklichem (
  • heißt dein Zähler 'count' oder 'counter'?
  • Stringvergleiche immer mit .equals()
) ist auch die {}-Klammersetzung sicher nicht richtig.

Ich schage vor, du löschst das ganze nochmal, und schreibst es neu.
Beim zweiten Mal wird's gleich deutlich besser, glaub' mir.
(Hab' selbst schon mal ein und dasselbe Programm 5 Mal programmiert, danach war's Spitzenklasse ~ war aber noch zu Teenager-Zeiten; im Studium lernt man dann, wie man's beim 1. Mal akzeptabel und beim 2. Mal sehr gut hinkriegt :oops:)

Ich werde trotzdem nicht anfangen den Leuten hier fertigen Code zu schreiben. Die sollen ruhig selber denken ;)

Gruß

Claus
 

minjin22

Mitglied
Ich werde trotzdem nicht anfangen den Leuten hier fertigen Code zu schreiben. Die sollen ruhig selber denken ;)

Gruß

Claus


Thallius vielen Dank!!! Du bist mein Held, habe es mit deiner Beschreibung hinbekommen. Ich hatte das schon so ähnlich gehabt es hat mir einfach nur jemand gefehlt der mich durch das Licht führt!!

Hier die Lösung, für die Leute die was ähnliches suchen:

Java:
public ArrayList<Integer> getSizeOfList(ArrayList<String> list) {
        
        ArrayList<Integer> sizeList = new ArrayList<Integer>();
        int counter = 1; 
        for(int i = 1; i<list.size(); i++) {
            if(list.get(i)!="") {
                sizeList.add(counter);
                counter = 1;
                continue;
            }
            counter++;
        }
        sizeList.add(counter);
        
    return sizeList ; 
    }

Keep it simple!
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Juelin javaFX mit Elementen Java Basics - Anfänger-Themen 6
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
NeoLexx Fragen zu diversen Elementen der Javabibliothek Java Basics - Anfänger-Themen 5
G Linked list, Methode zum Vertauschen von Elementen Java Basics - Anfänger-Themen 14
D Alle Möglichkeiten, n-Anzahl aus Elementen aus einem Array zu wählen, ausgeben? Java Basics - Anfänger-Themen 23
D JAXB - flexibles Mappen von Elementen Java Basics - Anfänger-Themen 12
M Array mit "n" Elementen Java Basics - Anfänger-Themen 2
H Array vertauschen von 2 Elementen Java Basics - Anfänger-Themen 3
F Collections Sortierung und Einfügen von Elementen Java Basics - Anfänger-Themen 1
V Anlegen eines 2 dim Array mit Point Elementen Java Basics - Anfänger-Themen 3
M aus x Elementen y Elemente auswählen Java Basics - Anfänger-Themen 6
J Problem beim Löschen von elementen aus einer ArrayList Java Basics - Anfänger-Themen 5
Z Summe von Vektor-Elementen Java Basics - Anfänger-Themen 5
L for each schleife und löschen von elementen Java Basics - Anfänger-Themen 8
A Hinzufügen von Elementen in ArrayList Java Basics - Anfänger-Themen 2
I Probleme beim adden von Elementen in einer ArrayList Java Basics - Anfänger-Themen 10
A Anordnung von JList Elementen Java Basics - Anfänger-Themen 3
K mittlere von 3 Elementen Java Basics - Anfänger-Themen 3
G Einfügen von Elementen in Baumstruktur Java Basics - Anfänger-Themen 3
G Aus- und Einblenden von grafischen Elementen Java Basics - Anfänger-Themen 4
G Anordnung von Elementen Java Basics - Anfänger-Themen 5
R Integerwerte von enum-Elementen feststellen Java Basics - Anfänger-Themen 2
Dilandau erweiterbare reihe aus elementen machen? Java Basics - Anfänger-Themen 10
J Wie ordne ich Swing-Elementen (checkbox, button, etc.)? Java Basics - Anfänger-Themen 2
N LinkedList - ungewollte Wiederholung v Elementen i d Ausgabe Java Basics - Anfänger-Themen 3
S Timer vs ExecutorService: jeden Sonntag um 14.00 Uhr einen Task starten..? Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
P Gibt es einen anderen Weg um "{}" in IntelliJ zu schreiben? Java Basics - Anfänger-Themen 5
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
F Hat es noch einen Sinn, alte Versionen zu lernen Java Basics - Anfänger-Themen 45
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
N Kann man einen Iterator nur einmal verwenden Java Basics - Anfänger-Themen 5
M Kommandozeilenparamter als EINEN String werten Java Basics - Anfänger-Themen 5
FireHorses Einen Command erst nach einer Chateingabe aktivieren Java Basics - Anfänger-Themen 1
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
berserkerdq2 Brauche ich while != -1, wenn ich immer einen BufferedReader verwende? Java Basics - Anfänger-Themen 8
berserkerdq2 Habe ein Spiel entwickelt, dass immer in der 4 Runde einen cast-Fehler erhält Java Basics - Anfänger-Themen 3
N Gibt es hierfür einen Shortcut Java Basics - Anfänger-Themen 5
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
K Wie verneine ich einen Regex? Java Basics - Anfänger-Themen 2
berserkerdq2 Wie würde man einen regulären Ausdruck in Java schreiben, der prüft, dass zwei bestimtme Zahlen nicht nebeneinadner sind? Java Basics - Anfänger-Themen 3
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
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
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
O Ich ahbe einen char und diesen soll ich bei .matches prüfen, also ob der char in meiner Zeichenkette vorhanden ist, wie mache ich das? Java Basics - Anfänger-Themen 9
W Unterschiede bei Zugriff auf Objekt und Klassenvariablen über einen Getter? Java Basics - Anfänger-Themen 2
D Einen boolischen Wert aus einer Methode in einer anderen Klasse aufrufen? Java Basics - Anfänger-Themen 11
C Potenzberechnung über switch case. Taschenrechner mit Eingabe über einen grafischen Dialog Java Basics - Anfänger-Themen 22
Poppigescorn Mithilfe einer Arrayliste einen Notenspiegel ausgeben Java Basics - Anfänger-Themen 12
J Eintrag Combobox über einen String auswählen Java Basics - Anfänger-Themen 3
L GUI- wie cancel ich einen Timer? Java Basics - Anfänger-Themen 10
S Aus verschachtelter ArrayList auf einen Wert zugreifen Java Basics - Anfänger-Themen 4
LetsSebi Methode, die einen arry von objekten speichert in einer datei Java Basics - Anfänger-Themen 6
Devin Wo kann man einen Java Lehrplan finden? Java Basics - Anfänger-Themen 5
J Ist es möglich einen int Array wirklich leer zu initialisieren oder zu füllen? Java Basics - Anfänger-Themen 21
P Welche Zeile in Tadople gibt einen compiler error? Java Basics - Anfänger-Themen 5
S First Time Mave: Wie ergänze ich einen Source-Folder? Java Basics - Anfänger-Themen 10
M Pfadprobleme - Zugriff auf einen Ordner im Workspace Java Basics - Anfänger-Themen 17
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
P Methode die eigentlich einen Scanner benötigt mit toString() Java Basics - Anfänger-Themen 5
S Erste Schritte Button einen Wert zuweisen & diesen ausgeben Java Basics - Anfänger-Themen 2
M Auf einen Array innerhalb eines Objekts zugreifen Java Basics - Anfänger-Themen 5
V_Fynn03 Erste Schritte Einen Wert in ein TextField einfügen aus einer anderen Klasse Java Basics - Anfänger-Themen 3
J Hat jemand einen Lösungsansatz für diese Aufgabe? Java Basics - Anfänger-Themen 1
F Hilfe für einen Anfänger! Java Basics - Anfänger-Themen 4
O Ziehen im Array um einen Schritt in eine einzige beliebige Richtung Java Basics - Anfänger-Themen 5
N Wie kann ich einen String wieder zusammensetzen und ausgeben lassen? Java Basics - Anfänger-Themen 9
T Fehlermeldung beim Versuch, einen String einzulesen Java Basics - Anfänger-Themen 4
J Wie kann ich z.B. einem int-Wert einen String-Wert zuweisen? Java Basics - Anfänger-Themen 2
steven789hjk543 Kann man mit Java und Eclipse einen Virus programmieren? Java Basics - Anfänger-Themen 13
D Eingabe einscannen, ohne vorher einen Datentypen anzugeben? Java Basics - Anfänger-Themen 1
T Einen Stern malen Java Basics - Anfänger-Themen 32
T Einen Stern malen Java Basics - Anfänger-Themen 2
L Files verschieben in einen Ordner Java Basics - Anfänger-Themen 87
A Mit JComboBox Ergebnis einen Integer aus einer anderen Klasse aufrufen. Java Basics - Anfänger-Themen 2
J Mit for Schleife einen String Rückwärts befüllen Java Basics - Anfänger-Themen 9
J Einen Buttonklick in Label anzeigen Java Basics - Anfänger-Themen 6
S Gibt es einen guten kostenlosen Online-kurs Java Basics - Anfänger-Themen 2
W Wie programmiere ich einen Potenzrechner? Java Basics - Anfänger-Themen 5
B ArrayList besitzt einen Wert zu wenig Java Basics - Anfänger-Themen 16
B Prüfen, ob es schon einen Termin gibt in einem Zeitraum Java Basics - Anfänger-Themen 5
B Wie instanzisiert man einen Cursor richtig? Java Basics - Anfänger-Themen 3
S Interface (WindowBuilder) Panels in einen Frame einfügen Java Basics - Anfänger-Themen 10
J Aufruf einer Methode über einen String Java Basics - Anfänger-Themen 11
C Wie erstellt man einen Timer/Delay? Java Basics - Anfänger-Themen 1
C Wie kann ich einen User Input mit einer If-Anweisung verbinden? Java Basics - Anfänger-Themen 5
J Guten tag, Ich hoffe ihr habt einen schönen Sonntag und könnt mir helfen Java Basics - Anfänger-Themen 2
D Methoden 2 TextWatcher auf einen EditText Java Basics - Anfänger-Themen 4
I Datentypen input.nextCharAt(0) wirft einen Fehler Java Basics - Anfänger-Themen 3
C In einer Methode einen Array zurückgeben Java Basics - Anfänger-Themen 2
S Bestehendes Java Programm, einen festen Wert ändern Java Basics - Anfänger-Themen 17
F Variablen If else: Einer Variable einen Wert hinzufügen oder so? Java Basics - Anfänger-Themen 6
R Übergeben eines Array Strings an einen Spinner Java Basics - Anfänger-Themen 4
Bluedaishi Einen Betrag X auf X Tage verteilen Java Basics - Anfänger-Themen 14
D Einen Wert unter einen ActionListener weitergeben Java Basics - Anfänger-Themen 1
J In Java einen Ton erzeugen Java Basics - Anfänger-Themen 8
C Variablen von einem JFrame in einen anderen übertragen Java Basics - Anfänger-Themen 3
V Arrays die einen Termin speichen Java Basics - Anfänger-Themen 5
G Wie gebe ich einen Dateipfad in RandomAccessFile an? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben