1 A,1 B,2 A,2 B,2 C
转换为
1 AB,2 ABC
转换为
1 AB,2 ABC
解决方案 »
- 有谁在web项目里用过RMI技术?
- 各路兄弟救救我吧~~一个lomboz插件折腾我4 5天了
- 学完EJB还用学hibernate,spring么????
- [很菜的问题!] hibernate
- JBuilder9中开发EJB的初级问题告急
- 从数据库拿出的jsp页可以直接用excel显示吗!求教!高手出来啊!100分。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
- 如何用jdom对XML进行验证???
- 有没有谁用j2ee的deploytool部署过servlet或jsp?请帮帮忙!
- j2ee中的ejb不能使用java.io.*读写文件?
- 我刚刚开始学习EJB有点不明白!
- 准备自学JAVA ,希望前辈推荐书!
- EXTJS+Struts2异常处理怎么做
String str = "1 A,1 B,2 A,2 B,2 C";
String strs[] = str.split(",");
for (int i = 0; i < strs.length; i++) {
strs[i].split(" ");
if(map.containsKey(strs[i].split(" ")[0])){
map.put(strs[i].split(" ")[0],map.get(strs[i].split(" ")[0]) + strs[i].split(" ")[1]);
}else{
map.put(strs[i].split(" ")[0], strs[i].split(" ")[0] + " " + strs[i].split(" ")[1]);
}
}
for (Object key : map.keySet()) {
System.out.println(map.get(key));
}
package work.helper;import java.util.HashMap;
import java.util.Map;public class Test {
public static void main(String[] args) {
String s="1 A,1 B,2 A,2 B,2 C";
String result="";
String[] str=s.split(",");
Map<String,String> map=new HashMap<String,String>();
for(int i=0;i<str.length;i++){
String[] ss=str[i].split(" ");
if(map.get(ss[0])==null){
map.put(ss[0],ss[1] );
}else{
String key=ss[0];
String value=map.get(ss[0]);
value+=ss[1];
map.remove(ss[0]);
map.put(ss[0], value);
}
}
for(Object o:map.keySet()){
result+=o+" "+map.get(o)+",";
}
System.out.println(result);
result=result.substring(0, result.length()-1);
System.out.println(result);
}
}
结果2 ABC,1 AB
我在考虑改改输出顺序
import java.util.Map;
import java.util.TreeMap;public class Test {
public static void main(String[] args) {
String source="1 A,1 B,2 A,2 B,2 C,3 E,3 D";
Map<String,String> map=new HashMap<String, String>();
String result="";
for(String string:source.split(",")){
String[] reg=string.split(" ");
map.put(reg[0],map.containsKey(reg[0])?map.get(reg[0])+reg[1]:reg[1]);
}
for(Object key:new TreeMap(map).keySet())
result+=(key+map.get(key)+",");
System.out.println(result);
}
}
我用的treemap自己排了一下,也可以自定义排序,但总觉得很繁琐,看楼下怎么说
package work.helper;import java.util.HashMap;
import java.util.Map;public class Test {
public static void main(String[] args) {
String s="1 A,1 B,2 A,2 B,2 C";
String result="";
String[] str=s.split(",");
Map<String,String> map=new HashMap<String,String>();
for(int i=0;i<str.length;i++){
String[] ss=str[i].split(" ");
if(map.get(ss[0])==null){
map.put(ss[0],ss[1] );
}else{
String key=ss[0];
String value=map.get(ss[0]);
value+=ss[1];
map.remove(ss[0]);
map.put(ss[0], value);
}
}
for(int i=0;i<5;i++){
if(map.get(Integer.toString(i))!=null){
result=result+i+" ";
result+=map.get(Integer.toString(i));
result=result+",";
}
}
result=result.substring(0, result.length()-1);
System.out.println(result);
}
}
稍微改了一下,记得那个i值调到字符串里面最大的那个值就行了
结果:1 AB,2 ABC