Mapと頻度カウント
Mapの基本(put/get/remove)、エントリの反復、単語頻度カウンター、ソートされたビューを得るTreeMapを学びます。
「Mapと頻度カウント」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全3レッスンが含まれています。
Mapとは何か
Mapはキーと値のペアを格納します。適した選択肢は次のとおりです:
- HashMap:高速で、順序はありません。
- TreeMap:キーが並べ替えられます。
- LinkedHashMap:挿入順を保持します。
よく使う操作
主な操作:
- put(k,v)、get(k)、containsKey(k)、remove(k)
- サイズ:size()
- ループ:キーと値にはentrySet()を使います。
コード:Mapの基礎
キーは一意です。同じキーを再利用すると、その値が置き換えられます。エントリをループするにはentrySet()を使います。
public class Main {
public static void main(String[] args) {
java.util.Map<String, Integer> scores = new java.util.HashMap<>();
scores.put("Ada", 90);
scores.put("Bob", 75);
scores.put("Ada", 95); // replaces old value
System.out.println("Bob's score=" + scores.get("Bob"));
System.out.println("Has Ada? " + scores.containsKey("Ada"));
scores.remove("Bob");
for (java.util.Map.Entry<String, Integer> e : scores.entrySet()) {
System.out.println(e.getKey() + " -> " + e.getValue());
}
}
}
出現回数を数える考え方
単語数のカウント:単語を順に処理し、getOrDefaultで更新します:map.put(w, map.getOrDefault(w,0)+1)。
コード:単語の出現回数
getOrDefaultを使うと、カウント処理を短く書けます。各単語の現在のカウントに1を加えます。
public class Main {
public static void main(String[] args) {
String[] words = { "to", "be", "or", "not", "to", "be" };
java.util.Map<String,Integer> counter = new java.util.HashMap<>();
for (String w : words) {
int newVal = counter.getOrDefault(w, 0) + 1;
counter.put(w, newVal);
}
System.out.println(counter);
}
}
コード:TreeMapによる並べ替え
TreeMapはキーを自動的に並べ替えます。結果をアルファベット順で表示する簡単な方法です。
public class Main {
public static void main(String[] args) {
java.util.Map<String,Integer> counts = new java.util.HashMap<>();
counts.put("banana",2);
counts.put("apple",3);
counts.put("cherry",1);
java.util.Map<String,Integer> sorted = new java.util.TreeMap<>(counts);
for (java.util.Map.Entry<String,Integer> e : sorted.entrySet()) {
System.out.println(e.getKey() + " -> " + e.getValue());
}
}
}
HashMapのチェック
クイックチェック:HashMapについて正しい説明はどれですか?
まとめ
まとめ:Map はキーと値のペアを格納します。put/get/remove、getOrDefaultを使った単語のカウント、TreeMapによる並べ替えられたビューについて学びました。
よくある質問
「Mapと頻度カウント」レッスンは無料ですか?
はい。「Mapと頻度カウント」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全3レッスンが含まれています。
「Mapと頻度カウント」で何を学びますか?
Mapの基本(put/get/remove)、エントリの反復、単語頻度カウンター、ソートされたビューを得るTreeMapを学びます。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Java Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。
「Mapと頻度カウント」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJava Academyレッスンでコードを書いて実行できますか?
はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。