
Mapというものを使うのが初めてなのですが、
よくわからなくなってしまいました。
他のプログラムから、
「MAPの配列で返ってくる」
のですが、このMAPの配列をintひとつ、ストリング2つから
作ろうとしているのですが、できずに困っています。
map[0]=("abc","ABC")
map[1]=("def","DEF")
map[2]=("ghi","GHI")
・
・
みたいなイメージなのですが、エラーになります・・・
Map[] hairetu = new HashMap();
これでコンパイルできません。
HelloWorldMap.java:17: 互換性のない型
出現: java.util.HashMap
要求: java.util.Map[]
Map[] hairetu = new HashMap();
Map[] hairetu;
という宣言だけならできます。
受け渡し先でMapの配列を要求しているのでこのような形が必要なのですが・・・
ちなみにソースを見ると
hairetu[i].get(キー)
みたいなとり方をしています。
No.3ベストアンサー
- 回答日時:
>MAPの配列をintひとつ、ストリング2つから
>作ろうとしているのですが、できずに困っています。
回答に対するコメントを見ていて思ったのですが、質問の内容は、MAPの配列をintひとつ、String2つからつくる方法のみということですよね。
だとしたらその回答だけ書くことにします。
int oneInt = 1;// ひとつのint
String oneOfTwo = "一番目のString";
String twoOfTwo = "二番目のString";
Map[] twoMaps = new Map[2];
twoMaps[0] = new HashMap<Integer,String>();
twoMaps[1] = new HashMap<Integer,String>();
twoMap[0].put(oneInt, oneOfTwo);
twoMap[1].put(oneInt, twoOfTwo);
これで、ひとつのintと2つのStringからMapの配列をつくったことになります。
この回答への補足
できたみたいです!
正確にはちょっと違っていて、こんな感じです。
import java.util.*;
public class MapTest {
public static void main(String[] args) {
int oneInt = 1;
String oneOfTwo = "一番目のString";
String twoOfTwo = "二番目のString";
Map[] twoMaps = new Map[2];
twoMaps[0] = new HashMap();
twoMaps[1] = new HashMap();
twoMaps[0].put(oneOfTwo,twoOfTwo);
System.out.println(twoMaps[0].get(oneOfTwo));
}
}
キーも値もStringです。
JDKは1.3なので<>の書き方はできませんでした。
(1.3はstringだけ?みたいです)
配列の意味がほんとにないですよね 汗
ソースを見ても、キーは取得してあって、値を取ろうとしていますので
いまいち必要性がわかりませんが
(全部でデータが何個?とかやりやすいからかも??)
何はともあれ、なんとかなりそうです!
早速組み込んでみます!
ありがとうございました!
No.2
- 回答日時:
>map[0]=("abc","ABC")
>(略)
>みたいなイメージなのですが、エラーになります・・・
こういうイメージだと単に、
Map<String, String> hairetu = new HashMap<String, String>();
hairetu.put("abc", "ABC");
hairetu.put("def", "DEF");
hairetu.put("ghi", "GHI");
String value = hairetu.get("abc");
//Java2SDK1.4以前なら
Map hairetu = new HashMap();
hairetu.put("abc", "ABC");
hairetu.put("def", "DEF");
hairetu.put("ghi", "GHI");
String value = (String)hairetu.get("abc");
こういうことだと思います。Mapが配列である必要性がありません。
>ちなみにソースを見ると
>hairetu[i].get(キー)
>みたいなとり方をしています。
この場合には、hairetu[i]のMapの構造がわかりませんので
具体的なサンプルコードが示せません。
これで何か、ヒントになりましたか?
この回答への補足
>こういうことだと思います。Mapが配列である必要性がありません。
僕も必要性を感じないのですが、
外部モジュールが「MAPの配列で返す」仕様であるため仕方が無いのです。
hairetu[i].get(キー)
これをhairetuのlength分まわして値を取得しているだけです。
好ましい、好ましくないに関わらず、
なるべく元ソースを変更しないで修正を行いたい為、
質問させていただきました。
No.1
- 回答日時:
マップ配列なんて使ってるところを見たことがないのですが・・、一応マップの配列の定義のしかたを載せてみます。
質問者さんの根本的な間違いに気づくと思います。
わからないことがあれば、その部分をまた書いてください。
Map[] maps = new Map[3];
for (int i=0, length = map.size() ; i<length ; i++)
{
maps[i] = new HashMap();
}
この回答への補足
そうなんです。
全然サンプルが無いし、
僕自身も何で配列なのかがわからないんです。
キーによって値が返ってくるMapで配列にする必要性が・・・
ただ、そうはいってももとからあるプログラムが
hairetu[i].get(キー)
みたいなとり方をしていて、「間違いではない」ようなのです。
(ふつうはhairetu.get(キー)のようになりますよね)
API仕様書を見ても
「MAPの配列を返します」
と書いてあり、
public Map[]
となっているんです・・・
あとMAPの配列、と書いてしまいましたが、正しくは
「Mapオブジェクトの配列」
のようです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonのmap、結果の利用は1度だけ? 5 2022/06/11 12:33
- Google Maps google map経路検索で、進行方向とmapの向きを一致させたい 3 2022/04/10 14:20
- 英語 We have Lee but you don't have 2 2023/03/13 03:35
- Google Maps iOS でのgoogle map の地図を写真で表示する方法を教えて下さい。 Windows でgo 2 2023/06/02 09:56
- Android(アンドロイド) スマホでGoogle Mapを快適に使うためのセンサー 1 2022/04/12 11:19
- Android(アンドロイド) アンドロイドスマホのMAPで作成したルートの保存方法 6 2022/06/10 16:10
- 英語 doがあるのとないのでどう違う? 34 2022/10/05 23:29
- 英語 日本人で、英語がネイティブ並みに理解できたり、話せる方に質問です。 英語を聞いて理解するまでに、一度 4 2022/11/16 00:30
- X(旧Twitter) Twitterで相手にメッセージを送った際、例えば千葉県と書いたところがリンクありになりました。クリ 1 2023/02/18 06:52
- Google Maps google mapについて質問です。 2 2022/11/14 17:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javaで文字と数字が混ざったも...
-
配列で、値の入っている要素数...
-
この警告はどうすれば?
-
[Ljava.lang.Stringってなんですか
-
配列について
-
javaについて
-
ファイルからデータをうまく読...
-
セッションを使ったint型の値の...
-
『args[]』とは?
-
Vectorから一部分を取り出す方...
-
javamailで複数人にメールを送...
-
sqlparamaterでIN句を使いたい。
-
javaでの文字列からの数字抽出
-
同じ配列またはクラスを、2回...
-
配列数を超えてアクセスしたと...
-
配列の中に複数存在する数がい...
-
乱数を発生させて、それを配列...
-
九九の表の応用
-
Javaで文字を漢字であるか否か...
-
CSVファイルの、列だけ取得したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
この警告はどうすれば?
-
[Ljava.lang.Stringってなんですか
-
配列で、値の入っている要素数...
-
Javaで文字と数字が混ざったも...
-
同じ配列またはクラスを、2回...
-
C#で動的配列Listの中身をListB...
-
【Ajax通信&Java】配列の受け取...
-
javamailで複数人にメールを送...
-
【C#】ハッシュテーブル(連想...
-
java StringとString[]の違い
-
jspでの二次元配列
-
配列の中に複数存在する数がい...
-
cloneメソッドについて (java)
-
セッションを使ったint型の値の...
-
C言語でunsigned char配列を連...
-
javaでEUC-JP文字列→UTF-8への変換
-
csvファイルを2次元配列に格納
-
Generics で型チェック
-
MAPの配列・・・???!!!
-
2次元配列でのiとjについて。
おすすめ情報