たとえば、リストがあります。{cat、ball、bat、cup、add、ant}、リストの単語で使用可能な最初の文字としてキーを使用し、リスト内の対応する単語として値を使用してマップに変換しようとしています。
すなわち
a->add,ant
b->ボール、バット
c->猫、カップ
マップとしての出力。どなたかご教示いただけると大変助かります。
純粋な Java の使用:
List<String> words =
new ArrayList(Arrays.asList("cat", "ball", "bat", "cup", "add", "ant"));
Map<String, List<String>> map = new HashMap();
for(String word: words){
String firstChar = String.valueOf(word.charAt(0));
if (map.get(firstChar) == null){
map.put(firstChar, new ArrayList(Arrays.asList(word)));
}
else{
map.get(firstChar).add(word);
}
}
または、Aniket Thakurが提案したようにGuavaライブラリを使用するより良い方法
ガイダンス
用途Map<String, List<String>>
とsubstring(int, int)
方法