2つのカンマ区切り文字列があります。値をインデックスでバインドしてこれらの値をマップに配置したいと思います。 1つの方法は、次の例を使用することです。2つのカンマ区切り文字列をマップに変換します
package com.test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class StringToMap {
public static void main(String[] args) {
String s1 = "1, 2, 3";
String s2 = "a, b, c";
Map<String, String> m = new HashMap<String, String>();
List<String> s1List = new ArrayList<String>(Arrays.asList(s1.split(",")));
List<String> s2List = new ArrayList<String>(Arrays.asList(s2.split(",")));
for (int i = 0; i < s1List.size(); i++) {
m.put(s1List.get(i).trim(), s2List.get(i).trim());
}
System.out.println(m);
}
}
結果は{3 = c、2 = b、1 = a}です。これを行うための他の効率的な方法がありますか?
Java 8を使用していますか? – shmosel
リストを必要とせず、 'split()'によって生成された配列を処理するだけです。 – Thomas
私はあなたがここでより多くの情報を持っていると思う:http://stackoverflow.com/questions/12418334/converting-string-arrays-into-map – Akah