public class Test {
public static void main(String[] args) {
String flagTpye = "GPS";
String locationType = "GNSS:10,LBS:10,mobile:20,GPS:199";
System.out.println(change(flagTpye,locationType));
}
public static String change(String flagTpye,String locationType){
List<Map<String,String>> list = new ArrayList<>();
String[] locationTypeArr = locationType.split(",");
for (String s : locationTypeArr) {
HashMap<String,String> map = new HashMap<>();
String[] split = s.split(":");
map.put(split[0],split[1]);
list.add(map);
}
StringBuilder newStr = new StringBuilder();
for (Map<String, String> map : list) {
for (Map.Entry<String, String> entry : map.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
if (flagTpye.equals(key)){
BigDecimal bignum1 = new BigDecimal(value);
BigDecimal one = new BigDecimal(1);
BigDecimal newValue = null;
newValue = bignum1.add(one);
newStr.append(key+":"+newValue+",");
}else {
newStr.append(key+":"+value+",");
}
}
}
newStr.delete(newStr.length() -1, newStr.length());
return newStr.toString();
}
}