• ベストアンサー

配列等へのアクセスについて

プログラム初級者です。 普通配列などへデータを格納するときはインデックスを使って、取り出す時もインデックスを使うと思いますが、一意の文字列をキーとしてデータの格納、取り出しをするような方法はないでしょうか?

  • Java
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • dekopa-
  • ベストアンサー率42% (161/378)
回答No.2

HashMapを使って下さい。key, valueに任意のオブジェクトを指定出来ますので、keyにStringを使えば一意の文字列をキーに値を取り出せます。 java.util.Collectionsのクラスは一通り目を通しておくと良いですよ。

その他の回答 (1)

  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.1

java.util.HashMapを使う。

関連するQ&A

  • 連想配列を処理するにあたって

    お世話になっております。 連想配列について質問させて頂きます。 以下のような、キーに文字列、インデックスに数字を指定している連想配列があるとします。 Array([あいうえお] => 0 [かきくけこ] => 0 [さしすせそ] => 0 [たちつてと] => 0) この連想配列のキーを指定し、そのキーに対するインデックスの数字を別の数字に置換したく思っています。 仮に、「あいうえお」のキーを指定して、そのキーに対するインデックス「0」を「1」に変更したいのです。 array_fill()やarray_fill_keys()などの関数を調べて試してみましたができませんでした。確実にプログラムが間違っているとしか言いようがないのですが、どなたかアドバイスをお願い致します。 以下のコード中にその処理を持ってきたく思っています。 /* foreach($mystery_noun as $mystery_key => $mystery_value){ __foreach($mecab_noun as $mecab_key => $mecab_value){ ____if($mystery_key == $mecab_key){ ______ここにその質問の処理を記述する。 ____} __} } */ ある連想配列のキー(文字列)が一致した場合、そのキーに対するインデックスを0→1に変更します。 尚、$mystery_noun、$mecab_nounの連想配列全てのインデックスには、それぞれ1,0が格納されています。

    • ベストアンサー
    • PHP
  • 大きさがわからない配列

    String型の配列で、文字列を格納していきたいのですが、 格納する文字列はいくつ来るかわかりません。 配列を大きさを確保しないで、どんどん文字列を 格納していくことはできますか? ブログのURLを格納するのですが、

    • ベストアンサー
    • Java
  • 配列のサイズを動的に指定したい。

    現在FeliCaを使ったプログラムを作っているのですが、 FeliCaから読み込んだデータを各配列にサイズぴったりで格納したいんですが、読み込むデータによって配列のサイズが違うため、あらかじめ配列のサイズを指定しておくことができません。  例1「012 34567 89]    例2「01 2345678 9」   a[3]=012           a[2]=01   b[5]=34567          b[7]=2345678   c[2]=89            c[1]=9 というように空白で区切った文字列を各配列に格納したいのです。 なにか良い方法はないでしょうか? ソフトはVisualStudio6.0を使用しています。

  • 配列のことでなのですが

    配列で先頭から順番に文字列を格納していきたいのですがどのような方法があるでしょうか? ただforループなどで順番に繰り返すのではなくて、文字列を入力する度に配列の最後尾に文字列を格納していきたいのですが、 例えば for(i=0;i<=10;i++){ scanf("%s",hairetu[i]) } のような方法ではなく配列の中に文字列を前から順番に格納したいです。 詳しい方は知識をかしていただけるとありがたいです。

  • 二次元配列のサイズについて

    下記のプログラムにおいて、 Public 文字列格納(,) as Variant とか、 Public 文字列格納(,3) as Variant のような、二次元配列を宣言はできないでしょうか? 下記のプログラムは、A1セルに書かれた文字列を、 一文字ずつに分解してB列に転記し、 逆さにしたものを、1文字ずつにC列に転記する プログラムです。A1セルに書かれる文字列の長さは不定です。 本当の目的は、NCBI等から取得したDNAの塩基配列を入力したら、 相補鎖の塩基配列を作成したり、タンパク質に翻訳したり、 乖離エネルギーを計算したりするためのコードで、その一部を 簡単化したものです。 ===プログラムのソース=== Public 文字列格納 As Variant Public 文字列(100, 2) As Variant Sub テスト() 文字列格納 = Cells(1, 1) 長さ = Len(文字列格納) For i = 1 To 長さ 文字列(i, 1) = Mid(文字列格納, i, 1) 文字列(i, 2) = Mid(文字列格納, 長さ - i + 1, 1) Cells(i, 2) = 文字列(i, 1) Cells(i, 3) = 文字列(i, 2) Next i End Sub

  • 文字列を配列に入れる方法

    初歩的な質問で申し訳ありません。 文字列型のデータを1文字ずつ順番に配列に格納する方法を教えてください。 よろしくお願いしますっ。

  • 配列を連想配列に

    $data=file(file); こちらで20行程度のデータを受け取り配列に入れたとして、、 $data[数字]ではなく $data[配列内のデータの最初の5文字]こちらをキーとして利用することは出来ませんか?? そうすれば条件にあった配列を検索かけて 必要なデータを取り出しやすくなるのですが。 配列の最初の5文字を取り出しキーとして使用する方法お願いします!!

    • ベストアンサー
    • PHP
  • 配列のメモリ消費が激しいです。

    PHP5を使用しています。 文字列で30MBほどの帳票を作成するさいに配列に格納すると500MB以上のリソースを使用します。 調べてみたところ、そもそも配列を使った時に格納データの10倍近くメモリ消費するようです。 回避策は無いでしょうか?

    • 締切済み
    • PHP
  • 配列

    あいうえお  の最初の文字(あ)だけをポインタ配列に格納して出力するというプログラムがどうしてもできません。 最初の文字をってところをどうやったらよいのかわからないので教えてほしいです。 おねがいいたします。

  • ファイル内の文字を配列に格納

    ファイル内の文字列をも表示させた上で、文字列を配列に1つずつ格納したいのですが、とっても簡単な方法で教えてください。 ファイル名は「abc」で配列名は「moji」でお願いします。

専門家に質問してみよう