티스토리 뷰

반응형

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);

 

 

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함