Array-Werte zusammenfassen

nija

Mitglied
Hallo,
ich möchte ausgeben wie oft derselbe Wert in einem Array auftaucht. Ausgabe mit diesem Code: 2, 2, 2, 4, 5, 6, 13, 55,
Wenn der Array z.B. 100 Werte hätte, wäre diese Art von Ausgabe nicht besonders sinnvoll.
Daher möchte ich eher so etwas wie: 3 mal 2, 1 mal 4, ...
Java:
public static void main(String[] args) {
        int[] array = {2, 13, 4, 55, 2, 5, 2, 6};{
           
            int[] sortiert = a (array);

           
                for (int i = 0; i < sortiert.length; i++) {
                    System.out.print(sortiert[i] + ", ");
                }}

            }

            public static int[] a (int[] sortieren) {
                int b;
                for (int i = 1; i < sortieren.length; i++) {
                    b = sortieren[i];
                    int j = i;
                    while (j > 0 && sortieren[j - 1] > b) {
                        sortieren[j] = sortieren[j - 1];
                        j--;
                    }
                    sortieren[j] = b;
                }
                return sortieren;
            }
 

nija

Mitglied
Ich habe erst versucht die Werte zusammenzuzählen, allerdings konnte ich bisher nur die einzelnen Werte zusammenzählen. Also z.B. 2+2+2 Ausgabe:6
 
Zuletzt bearbeitet:

nija

Mitglied
Interessante Idee:) Jetzt habe ich eine weitere Frage: Wenn ich zum Beispiel diesen Array habe:
{2, 2, 4, 2, 5, 2, 13, 55 } Wie schaffe ich es, das nur die zweien addiert werden. Kann ich sowas ähnliches wie if (Array==2) machen?
Die Gesamtsumme habe ich mit diesem Code hinbekommen.
Code:
    public static void main(String[] args) {

int array[]={2, 2, 4, 2, 5, 2, 13, 55};
int i=0;
int summe = 0;


for(i=0;i<array.length;i++)
{
summe+=array[i];
}

System.out.println(summe);
    }
 
Zuletzt bearbeitet:

nija

Mitglied
Ich habe es mal so versucht. Warum kommt 1 4 6 heraus?

Java:
 public static void main(String[] args) {
 int array[]={2, 2, 4, 2, 5, 2, 13,};
 int i;
 
 for(i=0;i<array.length;i++) 
{
 if (array[i] == 2){
  i++;
  System.out.println(i);
 }
  
}
 }
 
Zuletzt bearbeitet:

DrZoidberg

Top Contributor
Versuch mal das hier
Java:
int array[]={2, 2, 4, 2, 5, 2, 13};
Arrays.sort(array);
int count = 1;
for(int i = 0; i < array.length; i++) {
  if(i + 1 == array.length || array[i+1] != array[i]) {
    System.out.println(count + " mal " + array[i]);
    count = 1;
  } else {
    count++;
  }
}
 

Meniskusschaden

Top Contributor
Du könntest dir den bisher häufigsten Wert und seine Anzahl merken. Statt der Ausgabe vergleichst du, ob der Wert häufiger vorkam als der bisher häufigste und setzt die gemerkten Daten entsprechend neu. Zum Schluss kannst du sie dann ausgeben.
 

DrZoidberg

Top Contributor
Du entfernst diese Zeile
Java:
System.out.println(count + " mal " + array[i]);
und ersetzt sie durch so etwas:
Code:
Wenn count grösser ist als der bisher grösste count, dann setze den bisher grössten count auf count und merke dir array[i].
 
X

Xyz1

Gast
Nach Zoidberg ist das wahrscheinlich minimal schneller, lesbarer und nur auf die geforderte Ausgabe beschränkt:
Java:
    public static void main(String[] args) {
        int array[] = {2, 2, 4, 2, 5, 2, 13, 13};
        Arrays.sort(array);
        int count = 1;
        for (int i = 0; i < array.length; i++) {
            if (i == array.length - 1 || array[i] != array[i + 1]) {
                if (count > 1) {
                    System.out.println(array[i] + "  " + count);
                }
                count = 1;
            } else {
                count++;
            }
        }
    }

Weiter wollte ich aber doch gar nicht helfen. Also es bringt nix, nur Lösungen zu liefern. :(
 

looparda

Top Contributor
Ich wollte schauen wie man das ganze funktional programmieren könnte. Da deine gewünschte Funktionalität (in der Ursprungsfragestellung) ein Histogram beschreibt konnte ich gezielt danach suchen und habe das gefunden: https://gist.github.com/hoffrocket/7558352
Collectors.groupingBy kannte ich bisher auch nicht aber man sieht wie gut sich das eignet.
Ein bisschen angepasst sieht das so aus:
Java:
final int sample[] = {2, 2, 4, 2, 5, 2, 13};
final Map<Integer, Long> histogram = Arrays.stream(sample)
    .boxed()
    .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
System.out.println(histogram);
{2=4, 4=1, 5=1, 13=1}
Das liest sich wie folgt: Teile die Zahlenfolge in Gruppen auf. Eine Gruppe ist durch die Identität beschrieben -> also alle 2, 4, 5, 13 bilden seperate Gruppen. Auf die entstandenen Gruppen wende Collectors.counting() an - also zähle die Einträge der Gruppe.
Vielleicht ist das nicht die am einfachsten zu verstehende Lösung aber man kann darauf hinarbeiten es zu verstehen. Vielleicht kannst du dem etwas abgewinnen und im Hinterkopf behalten, dass man auch in dieser Form Java programmieren kann.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
Chris.089 2 Werte im Array tauschen Java Basics - Anfänger-Themen 6
Igig1 Wie lasse ich dir Werte in einem Array zusammenrücken? Java Basics - Anfänger-Themen 4
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
sashady ursprüngliche Array-Werte bei erneutem Aufruf? Java Basics - Anfänger-Themen 7
E In Array Werte einfügen? Java Basics - Anfänger-Themen 5
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
G Array Werte addieren Java Basics - Anfänger-Themen 4
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
C Array-Werte werden gemischt, ohne Logik Java Basics - Anfänger-Themen 2
L 2 Dimensional Array werte überschreiben Java Basics - Anfänger-Themen 1
K Array alle Werte aufsummieren und ausgeben Java Basics - Anfänger-Themen 6
J Neue Werte in ein Array hinzugeben Java Basics - Anfänger-Themen 8
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
Kirby.exe Fehlende Int Werte aus Array mit streams finden Java Basics - Anfänger-Themen 19
Ellachen55 Wie nach häufigste Werte im Array suchen? Java Basics - Anfänger-Themen 2
B Werte aus einem Unterprogramm in ein Array schreiben Java Basics - Anfänger-Themen 2
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
M prüfen ob alle array werte gleich sind Java Basics - Anfänger-Themen 27
D Werte aus einem BinärBaum in einem Array speichern Java Basics - Anfänger-Themen 1
L Werte zufällig aus Array zurückgeben Java Basics - Anfänger-Themen 15
L Gleiche Werte aus Array aussortieren Java Basics - Anfänger-Themen 5
L Gleiche Werte im Array hochzählen Java Basics - Anfänger-Themen 4
J Array Werte benutzen Java Basics - Anfänger-Themen 16
D Erste Schritte Array Werte an Methode übergeben Java Basics - Anfänger-Themen 6
S Array Werte vertauschen Java Basics - Anfänger-Themen 2
D Array Werte einlesen und ausgeben? Java Basics - Anfänger-Themen 8
F Werte in 2D-Array mit anderem 2D-Array überschreiben Java Basics - Anfänger-Themen 2
R Werte aus Array addieren und Mittelwert bilden Java Basics - Anfänger-Themen 2
S Werte in Array einlesen Java Basics - Anfänger-Themen 2
B Array Werte zuweisen Java Basics - Anfänger-Themen 4
U Array werte speichern und für berechnungen nutzen Java Basics - Anfänger-Themen 4
K Datentypen Werte im Array vertauschen Java Basics - Anfänger-Themen 11
J Variablen Doppelte Werte in Int Array Java Basics - Anfänger-Themen 10
stylegangsta Anzahl der gefunden array Werte ausgeben Java Basics - Anfänger-Themen 6
J Integer-Werte in Array ein- bzw. auslesen Java Basics - Anfänger-Themen 7
C Werte im Array sortieren Java Basics - Anfänger-Themen 5
A Array in Subklasse - Werte aus Superklasse Java Basics - Anfänger-Themen 4
D Array in Endlosschleife überschreibt vorherige Werte Java Basics - Anfänger-Themen 4
T Array soll Werte aufnehmen Java Basics - Anfänger-Themen 2
C Array kopieren und nur bestimmte Werte speichern Java Basics - Anfänger-Themen 6
J Werte der For-Schleife in Array abspeichern Java Basics - Anfänger-Themen 1
L [ARRAY] Werden hier die Indezes oder die Werte vergliechen? Java Basics - Anfänger-Themen 4
C Rekursion auf einem Array(negative werte addieren) Java Basics - Anfänger-Themen 4
B Doppelte Werte aus Array entfernen ohne Import - Algorithmus Java Basics - Anfänger-Themen 5
E Array Anzahl verschiedener Werte ausgeben Java Basics - Anfänger-Themen 3
M Kann einen Array nicht füllen, im Nachhinein nur "null"-Werte Java Basics - Anfänger-Themen 11
C Array - Werte speichern und ausgeben Java Basics - Anfänger-Themen 5
D Neue Array übernimmt Werte des alten nicht Java Basics - Anfänger-Themen 5
C Erste Schritte Array Werte Ausgeben Probleme mit variable Java Basics - Anfänger-Themen 21
S Array befüllen & auf doppelte werte prüfen Java Basics - Anfänger-Themen 6
M In Testklasse einem Array Werte übergeben Java Basics - Anfänger-Themen 6
B Werte über Scanner in ein 3 dim String Array schreiben Java Basics - Anfänger-Themen 7
F Einzelne Werte aus einem Array vergleichen? Java Basics - Anfänger-Themen 8
D Array auslesen und und Werte in ein anderes array anlegen Java Basics - Anfänger-Themen 5
J Integer Werte in Array einlesen Java Basics - Anfänger-Themen 6
C Erste Schritte Integer Werte in Array kopieren Java Basics - Anfänger-Themen 21
T Methoden in einer array werte vergleichen Java Basics - Anfänger-Themen 6
S Werte aus Array auslesen über Variableninhalt Java Basics - Anfänger-Themen 2
S Einzelne Werte von Array-Feld löschen Java Basics - Anfänger-Themen 15
T Beliebig viele Werte in Array zwischenspeichern Java Basics - Anfänger-Themen 15
K Erste Schritte Array mit 3 werte in eine Zeile -- Hilfe! Java Basics - Anfänger-Themen 2
T Aus object Array Double Werte ziehen Java Basics - Anfänger-Themen 10
2 Alle Werte die mit n Würfeln mit m Seiten geworfen werden können in ein n Dimensionales Array Java Basics - Anfänger-Themen 15
B Werte aus JTextArea in einem String Array ablegen Java Basics - Anfänger-Themen 4
Spin Array werte zusammenrechnen Java Basics - Anfänger-Themen 18
R array werte ausgeben/zugreifen Java Basics - Anfänger-Themen 8
D werte in array speichern Java Basics - Anfänger-Themen 26
B Datentypen Werte in einen Array einlesen und danach die beiden höchsten Werte wieder ausgeben Java Basics - Anfänger-Themen 3
B Werte aus einem Array umwandeln Java Basics - Anfänger-Themen 10
J Array Werte subtrahieren Java Basics - Anfänger-Themen 8
J int[] array Werte einem int übergeben Java Basics - Anfänger-Themen 9
M Byte Array: Werte größer 127? Java Basics - Anfänger-Themen 11
J Rekursion über int und array gibt zu wenige Werte zurück Java Basics - Anfänger-Themen 5
P doppelte Werte im Array ausgeben. Java Basics - Anfänger-Themen 4
P Werte im Array abwechselnd ausgeben Java Basics - Anfänger-Themen 4
S Char Array Werte in short variablen speichern Java Basics - Anfänger-Themen 4
G Array-Werte Zaehlung Java Basics - Anfänger-Themen 14
G Zählen gleiche Werte in Array Java Basics - Anfänger-Themen 5
X Errechte Werte automatisch in einem Array speichern Java Basics - Anfänger-Themen 11
7 Array speichert Werte nicht? NullPointerException Java Basics - Anfänger-Themen 2
M an String-Array weitere Werte anhängen Java Basics - Anfänger-Themen 22
G array werte in array2 schreiben Java Basics - Anfänger-Themen 6
G Werte im Array zählen Java Basics - Anfänger-Themen 13
G static array liefert falsche Werte zurück Java Basics - Anfänger-Themen 2
K Neue Werte für gleiche Array-Indexe Java Basics - Anfänger-Themen 16
D Werte in Array speicher Java Basics - Anfänger-Themen 8
J Verhindern das Werte in einem Array verloren gehen Java Basics - Anfänger-Themen 13
G Array werte auslesen Java Basics - Anfänger-Themen 6
F Array - Vorkommen der einzelnen Werte ausgeben Java Basics - Anfänger-Themen 8
G Dem array automatisch werte von -10 bis +10 zuweisen Java Basics - Anfänger-Themen 6
S Grösste Werte im Array! Java Basics - Anfänger-Themen 4
F Einem Array Werte zuweisen. (illegal start of expression) Java Basics - Anfänger-Themen 4
S Array Werte inkrem. Java Basics - Anfänger-Themen 2
P Aus Array Werte rauslesen und in Kuchendiagramm abbilden Java Basics - Anfänger-Themen 7
N Mehrere Werte gleichzeitig in ein Array schreiben? Java Basics - Anfänger-Themen 7
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben