java字符串拼接

2024-11-22 09:35:29
推荐回答(5个)
回答1:

可以不管有多少个key都先加上逗号,最后再删除最后一个逗号。

import java.util.HashMap;
import java.util.Map.Entry;

public class Test {

public static void main(String[] args) {
HashMap State = new HashMap();
State.put(1, true);
State.put(3, false);
State.put(4, true);
StringBuffer sb = new StringBuffer();
for (Entry entry : State.entrySet()) {
if (entry.getValue())
sb.append(entry.getKey()).append(',');
}
sb.deleteCharAt(sb.length() - 1); // 删除末尾的,
System.out.println(sb); // 输出 1,4
}
}

回答2:

//第一种

StringBuffer sb=new StringBuffer();
Set keySet = State.keySet();//返回键的集合

for(Object key:keySet){
sb.append(key);
sb.append(",");
}
//第二种
Set keySet = State.keySet();//返回键的集合
Iterator it = keySet.iterator();
while(it.hasNext()) //第一种迭代方式取键值
{
Object key = it.next();
sb.append(key);
sb.append(",");
}
//第三种
Iterator
i=State.entrySet().iterator();

while(i.hasNext()){//只遍历一次,速度快
Map.Entry
e=(Map.Entry)i.next();

sb.append(e.getKey());
sb.append(",");
}

//逗号隔开 :无需判断是不是只有一个值,取出的值再去掉逗号就好了sb.subString(0,sb.length()-1)。
仅供参考,未测试

回答3:

是要把value值为true的key以逗号分隔拼接成字符串吗,如 map 里 1,true 2,false 3,true 结果为 1,3

回答4:

sb.append(值)

回答5:

不是很清楚啥意思