# Häufigkeit von Array Elementen berechnen



## Tuts4you (13. November 2006)

Hallo Leute!
Könnt ihr mir tipps geben wie ich die Häufigkeit von Array-Elementen berechnen kann?


```
5.0
5.0
5.0
6.4031242374328485
7.810249675906654
7.810249675906654
9.219544457292887
```
Ausgabe soll so aussehen:

```
5 | Häufigkeit: 3
6,4...| Häufigkeit: 1
7,8...| Häufigkeit: 2
9,2...| Häufigkeit: 1
```
danke für eure Hilfe!

Michael


----------



## Thomas Darimont (13. November 2006)

Hallo!

Schau mal hier:

```
Double[] numbers = { 5.0, 5.0, 5.0, 6.4031242374328485, 7.810249675906654, 7.810249675906654,
      9.219544457292887 };

    List<Double>  numberList = Arrays.asList(numbers);
    System.out.println(Collections.frequency(numberList, 5.0));
    System.out.println(Collections.frequency(numberList, 7.810249675906654));
    System.out.println(Collections.frequency(numberList, 6.4031242374328485));
    System.out.println(Collections.frequency(numberList, 9.219544457292887));
```

Ausgabe:

```
3
2
1
1
```
Gruß Tom


----------



## deepthroat (13. November 2006)

Hi.

Du machst einfach eine Iteration über die Arrayelemente und zählst einfach für jedes Element dessen Vorkommen in einer assoziativen Datenstruktur wie z.B. einer HashMap.

Gruß


----------



## Tuts4you (13. November 2006)

Danke Mann! Werd ich gleich mal ausprobieren!


----------



## BabyMitSchnully (13. November 2006)

Hi,

ich würde es so machen.


```
kopieMeinesArrays = meinArray;
//Die ist STATIC
Arrays.sort(kopieMeinesArrays);

int summe = 0
int letzterWert = 0;

Arrays.sort(kopieMeinesArrays);

for (int i = 0; i < kopieMeinesArrays.lenght();i++)
{
  if(letzterWert == kopieMeinesArrays[i])
  {
    //Der Wert ist immer noch der gleiche weil Array sortiert ist.
    summe++; 
  }
  else
  {
    letzterWert = kopieMeinesArrays[i];
    //Bevor Summe auf 0 gesetzt wird musst den Wert natürlich rauswerfen zum übernehmen. Zum Beispiel über eine Methode
    setCountOfArrayValue(summe); //Nur eine Beispielfunktion
    //Summe zurücksetzen, damit nächster Wert gezählt werden kann.
    summe = 0;
  }
}
```


----------



## Anime-Otaku (13. November 2006)

Ich würde das Array mit Arrays.sort sortieren und dann darüber iterieren....dann schauste das nächste an und wenn es auch das selbe ist, zähler hoch...bis man etwas anderes findet...dann rauschreiben oder sonst irgendwie vorhalten.


----------



## Tuts4you (13. November 2006)

mhm...*grüber*
versteh ich nicht - kannst mir diese Variante erklären? danke!



BabyMitSchnully hat gesagt.:


> Hi,
> 
> ich würde es so machen.
> 
> ...


----------

