Mengimplementasikan aplikasi analisis teks
Anda sedang mengembangkan aplikasi analisis teks yang perlu menghitung frekuensi kata dalam sebuah dokumen. Anda harus mengimplementasikan solusi dengan kompleksitas waktu yang optimal untuk pencarian kata.
Latihan ini adalah bagian dari kursus
Optimasi Kode di Java
Petunjuk latihan
- Ambil
currentCountuntuk kata tersebut ketika sudah ada di peta frekuensi. - Tingkatkan nilainya dan perbarui peta frekuensi dengan nilai yang telah diperbarui.
- Jika kata belum ada di peta frekuensi sampai saat ini, tambahkan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
public class Main {
public static void main(String[] args) {
TextAnalyzer analyzer = new TextAnalyzer();
List words = Arrays.asList(
"Java", "is", "a", "programming", "language",
"Java", "is", "widely", "used", "for", "building", "applications",
"Many", "programmers", "use", "Java", "for", "web", "development", "and", "Android", "apps"
);
Map wordFrequency = analyzer.buildWordFrequencyMap(words);
System.out.println("Word frequency analysis:");
for (Map.Entry entry : wordFrequency.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue() + " occurrences");
}
}
}
class TextAnalyzer {
public Map buildWordFrequencyMap(List words) {
Map frequencyMap = new HashMap();
for (String word : words) {
if (word.isEmpty()) {
continue;
}
word = word.toLowerCase();
if (frequencyMap.containsKey(word)) {
// Retrieve the frequency of the word
int currentCount = ____.get(____);
// Increment the frequency of the word
frequencyMap.put(____, currentCount + 1);
} else {
// If the frequency map does not have the word, add it.
____.____(word, 1);
}
}
return frequencyMap;
}
}