平成18年 秋期 基本情報技術者 午後 問08
問08 Java次の Java プログラムの説明及びプログラムを読んで,設問に答えよ。 ( Java プログラムで使用する API の説明は,この冊子の末尾を参照してください。)
〔プログラムの説明〕 クラス UniqueMap は,キーと値を1対1に対応付けて保持する。 例えば,乗物の乗客(キー)と座席(値)との間に着席という関連があるとき, 一つの座席には多くても1人の乗客だけが座り,1人の乗客は一つの席にしか座らない。 クラス UniqueMap はこのような2種類のオブジェクトを,一方をキー, 他方を値として1対1に対応させるクラスであり,次のメソッドをもつ。 public V put(K key, V value) キー( key )と値( value )を1対1に対応付けて登録する。 key 又 は valueが null ならば,NullPointerException を投げる。 また,value が既にほかのキーと対応付けられていれば,IllegalArgumentException を投げる。 key が既にほかの値と対応付けられていれば,その値を value で置き換え, 置き換えられる前の値を返す。 key に値が対応付けられていなければ,null を返す。 public V get(K key) キー( key )に対応付けられた値を返す。key と値の対応付けがなければ, null を返す。 public V remove(K key) キー( key )と値の対応付けを削除し,対応付けられていた値を返す。 key と値の対応付けがなければ,null を返す。 public void putForce(K key, V value) キー( key )と値( value )を1対1に対応付けて登録する。 value が既にほかのキーと対応付けられていれば,その対応を削除したうえで登録する。 戻り値はない。その他の仕様は,メソッド put と同一である。
〔プログラム〕
import java.util.Map;
import java.util.HashMap;
public class UniqueMap<K, V> { // K はキーのクラス,V は値のクラス。
// キーと値を対応させて記憶する。
private Map<K, V> map = new HashMap<K, V>();
// 値からキーを取り出せるようにする。
private Map<V, K> reverse = new HashMap<V, K>();
public V put(K key, V value) {
if (
設問 プログラム中の
a に関する解答群 ア key == null || value == null イ key == null && value == null ウ key != null || value != null エ key != null && value != null b に関する解答群 ア key, key イ key, value ウ value, key エ value, value c に関する解答群 ア key イ reverse.get(value) ウ reverse.put(value, key) エ reverse.remove(value) d に関する解答群 ア map.put イ put ウ putForce エ reverse.put
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2025 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
|
