我们知道,在Java里使用map可以添加单个的映射关系,调用get方法可输出key对应的value:
HashMap<String, String> map = new HashMap<>();
map.put ( "key", "value" );
那么如果想要添加一对多映射或者多对多映射呢?
可以使用 MultiValueMap接口的实现类LinkedMultiValueMap来进行操作:
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import java.util.List;
import java.util.Map;
public void appList(String App){
MultiValueMap<String, String> map = new LinkedMultiValueMap<> ();
//一个key增加多个value
map.add("a", "a1");
map.add("a", "a2");
map.add("a", "a3");
List<String> list = map.get( App );
for (int i=0;i<list.size ();i++){
System.out.println ( list.get ( i ) );
}
}
输出:
a1
a2
a3
如果是set方法,那么输出只有一个值,且为最后set的值:
public void appList(String App){
MultiValueMap<String, String> map = new LinkedMultiValueMap<> ();
map.add("a", "a1");
map.add("a", "a2");
map.add("a", "a3");
map.set("a", "bb");
map.set("a", "cc");
List<String> list = map.get( App );
for (int i=0;i<list.size ();i++){
System.out.println ( list.get ( i ) );
}
}
输出:
cc