Java 如何将多个逗号分隔的值附加到同一个键
我有一把这样的钥匙:Java 如何将多个逗号分隔的值附加到同一个键,java,Java,我有一把这样的钥匙: String mainUrl = "http://smshorizon.co.in/api/sendsms.php?";"&mobile= MOBILE_NUMBER1, MOBILE_NUMBER2, MOBILE_NUMBER3"; String[] numbers = {"MOBILE_NUMBER1", "MOBILE_NUMBER2", "MOBILE_NUMBER3"}; System.out.println(Arrays.stream(numbers
String mainUrl = "http://smshorizon.co.in/api/sendsms.php?";"&mobile= MOBILE_NUMBER1, MOBILE_NUMBER2, MOBILE_NUMBER3";
String[] numbers = {"MOBILE_NUMBER1", "MOBILE_NUMBER2", "MOBILE_NUMBER3"};
System.out.println(Arrays.stream(numbers).collect(Collectors.joining(",")));
StringBuilder buffer = new StringBuilder();
for (int i = 0; i < numbers.length; i++) {
if (i > 0) {
buffer.append(',');
}
buffer.append(numbers[i]);
}
System.out.println(buffer);
我想将多个手机号码作为逗号分隔的值添加到密钥(“&mobile=“
”)。我尝试将hasp映射与列表一起使用,但问题是它将值添加为数组,因为它是一个集合
HashMap<String, Object> hm = new HashMap();
List<String> list = new ArrayList();
for (int i = 0; i < numbers.length; i++) {
list.add(numbers[i]);
hm.put("&mobile=", list);
}
System.out.println("HashMap: " + hm.get("&mobile="));
System.out.println("message: " + message);
//prints HashMap: [996****730, 97052***86, 984****956]
你为什么不试试这个:
HashMap<String, Object> hm = new HashMap();
String mobileNumbers;
for (int i = 0; i < numbers.length; i++) {
mobileNumbers = mobileNumbers + "," + numbers[i];
}
mobileNumbers = mobileNumbers.subString(1); //To remove first comma.
hm.put("&mobile=", mobileNumbers);
System.out.println("HashMap: " + hm.get("&mobile="));
System.out.println("message: " + message);
//prints HashMap: 99****8730, 97******86, 98******56
HashMap hm=newhashmap();
字符串移动枚举器;
for(int i=0;i
为什么不试试这个:
HashMap<String, Object> hm = new HashMap();
String mobileNumbers;
for (int i = 0; i < numbers.length; i++) {
mobileNumbers = mobileNumbers + "," + numbers[i];
}
mobileNumbers = mobileNumbers.subString(1); //To remove first comma.
hm.put("&mobile=", mobileNumbers);
System.out.println("HashMap: " + hm.get("&mobile="));
System.out.println("message: " + message);
//prints HashMap: 99****8730, 97******86, 98******56
HashMap hm=newhashmap();
字符串移动枚举器;
for(int i=0;i
使用Java 8,可以这样做:
String mainUrl = "http://smshorizon.co.in/api/sendsms.php?";"&mobile= MOBILE_NUMBER1, MOBILE_NUMBER2, MOBILE_NUMBER3";
String[] numbers = {"MOBILE_NUMBER1", "MOBILE_NUMBER2", "MOBILE_NUMBER3"};
System.out.println(Arrays.stream(numbers).collect(Collectors.joining(",")));
StringBuilder buffer = new StringBuilder();
for (int i = 0; i < numbers.length; i++) {
if (i > 0) {
buffer.append(',');
}
buffer.append(numbers[i]);
}
System.out.println(buffer);
输出:
MOBILE_NUMBER1,MOBILE_NUMBER2,MOBILE_NUMBER3
MOBILE_NUMBER1,MOBILE_NUMBER2,MOBILE_NUMBER3
对于以前版本的Java,请使用如下StringBuilder
:
String mainUrl = "http://smshorizon.co.in/api/sendsms.php?";"&mobile= MOBILE_NUMBER1, MOBILE_NUMBER2, MOBILE_NUMBER3";
String[] numbers = {"MOBILE_NUMBER1", "MOBILE_NUMBER2", "MOBILE_NUMBER3"};
System.out.println(Arrays.stream(numbers).collect(Collectors.joining(",")));
StringBuilder buffer = new StringBuilder();
for (int i = 0; i < numbers.length; i++) {
if (i > 0) {
buffer.append(',');
}
buffer.append(numbers[i]);
}
System.out.println(buffer);
使用Java 8,可以这样做:
String mainUrl = "http://smshorizon.co.in/api/sendsms.php?";"&mobile= MOBILE_NUMBER1, MOBILE_NUMBER2, MOBILE_NUMBER3";
String[] numbers = {"MOBILE_NUMBER1", "MOBILE_NUMBER2", "MOBILE_NUMBER3"};
System.out.println(Arrays.stream(numbers).collect(Collectors.joining(",")));
StringBuilder buffer = new StringBuilder();
for (int i = 0; i < numbers.length; i++) {
if (i > 0) {
buffer.append(',');
}
buffer.append(numbers[i]);
}
System.out.println(buffer);
输出:
MOBILE_NUMBER1,MOBILE_NUMBER2,MOBILE_NUMBER3
MOBILE_NUMBER1,MOBILE_NUMBER2,MOBILE_NUMBER3
对于以前版本的Java,请使用如下StringBuilder
:
String mainUrl = "http://smshorizon.co.in/api/sendsms.php?";"&mobile= MOBILE_NUMBER1, MOBILE_NUMBER2, MOBILE_NUMBER3";
String[] numbers = {"MOBILE_NUMBER1", "MOBILE_NUMBER2", "MOBILE_NUMBER3"};
System.out.println(Arrays.stream(numbers).collect(Collectors.joining(",")));
StringBuilder buffer = new StringBuilder();
for (int i = 0; i < numbers.length; i++) {
if (i > 0) {
buffer.append(',');
}
buffer.append(numbers[i]);
}
System.out.println(buffer);
最简单的方法是使用StringBuilder并迭代数字,在数字后面加上数字本身和逗号。然后删除最后一个字符(尾随逗号),并将生成的字符串作为值 示例
StringBuilder sb = new StringBuilder();
// assuming the "numbers" variable is a String array or collection
for (String number: numbers) {
sb.append(number).append(",");
}
// removing trailing ","
sb.deleteCharAt(sb.length() - 1)
hm.put("&mobile=", sb.toString());
最简单的方法是使用StringBuilder并迭代数字,在数字后面加上数字本身和逗号。然后删除最后一个字符(尾随逗号),并将生成的字符串作为值 示例
StringBuilder sb = new StringBuilder();
// assuming the "numbers" variable is a String array or collection
for (String number: numbers) {
sb.append(number).append(",");
}
// removing trailing ","
sb.deleteCharAt(sb.length() - 1)
hm.put("&mobile=", sb.toString());
在Hashmap中,您将列表存储为键“&mobile=”的值。与此相反,你只需创建一个字符串,并用逗号分隔移动电话号码。最简单的方法是使用
StringBuilder
对数字进行迭代,然后在数字后面加上逗号。然后删除最后一个字符(尾随逗号),并将生成的字符串作为值;hm.put(“&mobile=”,str);在Hashmap中,您将列表存储为键“&mobile=”的值。与此相反,你只需创建一个字符串,并用逗号分隔移动电话号码。最简单的方法是使用StringBuilder
对数字进行迭代,然后在数字后面加上逗号。然后删除最后一个字符(尾随逗号),并将生成的字符串作为值;hm.put(“&mobile=”,str);尽管所有答案都有效。我接受它作为Java8特性的答案,尽管所有答案都有效。我接受它作为Java8特性的答案