티스토리 뷰
반응형
1. 요구사항
Map<String, Integer> 데이터형인 변수를 만들었는데, 이 변수의 key를 콤마(,)로 연결한 String을 만들고 싶을 때
2. 해결방법
Map<String, Integer> codeMap = new HashMap<String, Integer>();
codeMap.put("교사", 1);
codeMap.put("학생", 2);
codeMap.put("학부모", 3);
//1. keySet을 String Array로 변환
StringBuilder sb1 = new StringBuilder();
//StringUtils.join(String[] array, char separator, StringBuilder sb)
StringUtils.join(codeMap.keySet().toArray(new String[codeMap.size()]), ',', sb1);
System.out.println(sb1.toString()); //교사,학생,학부모
//2. keyset의 interator 이용
StringBuilder sb2 = new StringBuilder();
Iterator<String> iter = codeMap.keySet().iterator();
while(iter.hasNext()) {
sb2.append(iter.next()).append(iter.hasNext() == true ? "," : "");
}
System.out.println(sb2.toString()); //교사,학생,학부모
//3. 역시나 제일 만만한... for문 이용
String str = "";
for(String key : codeMap.keySet()){
if(str.length() > 0) str += ",";
str += key;
}
System.out.println(str);
반응형