HashMap ile Karakter Frekansı

Kategori: Java , 13 Temmuz 2019 , JanFranco


Bu yazımızda, bir string değer içinde geçen karakterlerin kaç defa geçtiğini bulacağız. Algoritma şu şekilde çalışıyor, bir string okunuyor. For döngüsü ile string değerdeki karakterler üzerinde geziniliyor. frekans isimli HashMap'te karakterler key değeri, count ise orjinal verimiz. Eğer bir karakter hashMap'te var ise, get methodu ile orjinal değer çekiliyor, bir artırılıyor ve replace methodu ile hashMap'e geri konuluyor. Eğer yok ise 1 değeri ile yerleştiriliyor.


import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;

public class HashMapMain {

	public static void main(String[] args){
		
		Scanner scanner = new Scanner(System.in);
		System.out.println("Cümleyi girin: ");
		String cumle = scanner.nextLine();
		
		Map<Character, Integer> frekans = new TreeMap<Character, Integer>();
		
		for(int i=0; i<cumle.length(); i++){
			
			char c = cumle.charAt(i);
			
			if(frekans.containsKey(c)){
				frekans.replace(c, frekans.get(c) + 1);
			}
			else{
				frekans.put(c, 1);
			}
			
		}
		
		for(Map.Entry<Character, Integer> entry : frekans.entrySet()){
			System.out.println("Karakter " + entry.getKey() + " " + entry.getValue() + " kadar geçiyor.");
		}
	}
	
}
Konsolda:

String: 
HashMap ile string içinde karakter frekansı - janfranco.com
Char   = 7
Char - = 1
Char . = 1
Char H = 1
Char M = 1
Char a = 7
Char c = 2
Char d = 1
Char e = 4
Char f = 2
Char g = 1
Char h = 1
Char i = 4
Char j = 1
Char k = 3
Char l = 1
Char m = 1
Char n = 5
Char o = 2
Char p = 1
Char r = 5
Char s = 3
Char t = 2
Char ç = 1
Char ı = 1


Sonraki Yazı: Comparable, CompareTo
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın