JavaのputAll関数を利用してMapの全マッピングをコピーする方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaのputAll関数を利用してMapの全マッピングをコピーする方法について解説しています。putAll関数を使うと全てのマッピングをコピーすることができます。書き方と使用例をサンプルコードで見ていきましょう。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

JavaのputAll関数を利用してMapの全マッピングをコピーする方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まるでしょう

 

なお本記事は、TechAcademyのオンラインブートキャンプJava講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

putAll関数を利用してMapの全マッピングをコピーする方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

putAll関数とは

putAll関数とは、指定したマップから全てのマッピングをコピーする関数です。キーの一致する場合はコピー元の値に置き換わり、既存のマップにキーが存在しない場合は追加されます。

 

[PR] Javaプログラミングで挫折しない学習方法を動画で公開中

putAll関数の使い方

putAll関数は以下のように記述しましょう。

既存のマップ.putAll(コピーするマップ);

既存のマップに存在するキーの値はコピーするマップの値に上書きされ、既存マップの散財しないキーの値はコピーするマップのキーと値が追加されます。

 

実際に書いてみよう

putAll関数を利用してMapの全マッピングをコピーしてみましょう。

プログラムソースコード

import java.util.HashMap;
import java.util.Map;

public class SampleClass {
  public static void main(String[] args) {
    Map<String, Integer> copyMapA = new HashMap<String, Integer>();
    copyMapA.put("aaa", 2);
    copyMapA.put("bbb", 3);
    copyMapA.put("ccc", 4);

    Map<String, Integer> copyMapB = new HashMap<String, Integer>();
    copyMapB.put("aaa", 12);
    copyMapB.put("bbb", 13);
    copyMapB.put("ddd", 4);
    Map<String, Integer> map = new HashMap<String, Integer>();
    map.putAll(copyMapA);
    System.out.println(map);

    map.putAll(copyMapB);
    System.out.println(map);
  }
}

 

実行結果

{aaa=2, ccc=4, bbb=3}
{aaa=12, ccc=4, bbb=13, ddd=4}

 

新しく作ったMapオブジェクトであるmapに対して、コピーするMapであるcopyMapAの内容が全てコピーされていることが確認でき可能です。

またコピーするMapであるcopyMapBの内容がコピーされものの、すでに存在するキーに関しては値が置き換わっています。そして、存在しないキーに対して新しくマッピングが追加されています。

 

まとめ

この記事ではJavaのputAll関数を利用してMapの全マッピングをコピーする方法について解説しました。値を置き換える際に有効に使用していきましょう。

 

執筆してくれたメンター

メンターSさん

システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。

JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。

TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。

 

大石ゆかり

JavaのputAll関数を利用してMapの全マッピングをコピーする方法がよく分かったので良かったです!

田島悠介

ゆかりちゃん、これからも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも、JavaやServletの技術を使ってWebアプリケーション開発を習得できるオンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。