2016-09-16 7 views
-2

私は文字列map.keyで文字列値をどのように格納できますか?

String[] mass = new String[]{"textp1","textp2tt","txtp3gfsdg","txtp4rfgsf"}//each element contains substring p1,p2,p3,p4 

そして

Map<String, String> map = new HashMap<>(); 
map.put("p1","blablabla"); 
map.put("p2","blablabla"); 
map.put("p3","blablabla"); 
map.put("p4","blablabla"); 

の大規模な持っていると私がしたいが、私はこれを実現するにはどうすればよいのマップ

for (String s : mass) { 
    if (s.contains(map.key)) form.setField(map.key,map.value); 
} 

のキーで質量の各要素が含まれていますか?マビは地図ではない?

私は設定のようなマップを作成し、メソッドにパラメータと同様に渡したい方法

public void method(String[] mass, Map<String, String> map){ 
for (String s : mass) { 
     if (s.contains(map.key)) form.setField(map.key,map.value); 
    } 
} 

EDIT

たい。私はストリングのいくつかの大量を持っており、それを解析する必要があります。 cange 1パラメータP1またはP999

+0

「フォーム」はどこに定義されていますか?私はそれをどこにも見ない。 –

答えて

1

私だけが見ることができるように、あなたはmass変数の各文字列のために、それは、シナリオの場合Map

にキーを表す任意の部分文字列が存在することを求めている、その後、複数のループを取得したい場合は、1つはStringを繰り返し、もう1つはMapを反復処理します。

for (String s : mass) {   
    for (Map.Entry<String, String> entry : map.entrySet()) { 
     if (s.contains(entry.getKey())) { 
      form.setField(entry.getKey(), entry.getValue()); 
      break; 
     } 
    } 
} 
関連する問題