Java koduyla yazamam ama PHP ile düz mantık bir şey yazayım size,
    $kullanici_girdi_dizisi = array(2,3,2,3,25,2,4,3,1,5,3,2,15);
    $sonuc_dizimiz = array();
    foreach($kullanici_girdi_dizisi as $sayi){
        if(!isset($sonuc_dizimiz[$sayi])){$sonuc_dizimiz[$sayi] = 1;}
        else{ $sonuc_dizimiz[ $sayi ] =  $sonuc_dizimiz[ $sayi ] + 1;}
    }
    print_r($sonuc_dizimiz);
Çıktı:

Array ( [2] => 4 [3] => 4 [25] => 1 [4] => 1 [1] => 1 [5] => 1 [15] => 1 )
Kod tam olarak doğru çalışıyor hocam düzelttim

Key value ilişkisi yapmadan 2 dizimiz olur.
İlki kullanıcının girdilerini elinde tutar,
2.sindede biz ilk dizinin içindekileri tek tek bu dizinin indisi olarak düşünür varmı diye kontrol ederiz,
Yoksa o indisi oluşturur değerine 0 deriz, varsada eğer indisi kendi değeri + 1 ile güncelleriz.