public static Map<String, String> sameFirstLetter(List<String> list) { Map<String,String> map1 = new HashMap<>(); for(String s : list){ String first = s.substring(0,1); if(map1.containsKey(first)){ map1.put(first, map1.get(first)+","+s); } else{ map1.put(first,s); } } return map1; }分析代码
时间: 2023-06-26 15:07:40 浏览: 156
ResultSet 转为listmap
这段代码实现的功能是将一个字符串列表中所有以相同首字母开头的字符串放在一起,并返回一个Map,其中key为首字母,value为以该首字母开头的所有字符串,用逗号分隔。
具体分析如下:
1. 定义一个空的HashMap对象 map1。
2. 遍历字符串列表 list 中的每一个字符串 s。
3. 获取字符串 s 的首字母 first。
4. 判断 map1 中是否存在以 first 为 key 的键值对:
a. 如果存在,则将字符串 s 拼接到该 key 对应的 value 后面,中间用逗号隔开。
b. 如果不存在,则将以 first 为 key,s 为 value 的键值对添加到 map1 中。
5. 返回 Map 对象 map1。
需要注意的是,该方法在处理字符串列表时,对于大小写敏感,即如果存在不同大小写开头的字符串,会将它们视为不同的首字母。
阅读全文