String prefix = "";
for (String serverId : serverIds) {
sb.append(prefix);
prefix = ",";
sb.append(serverId);
}
다음 코드는 위 코드보다 빠르게 실행됩니다. ","접두어 개체는 반복 할 때마다 불필요한 개체 생성을 수행합니다. 위의 코드는 86324 나노 초가 걸리는 반면, 내 코드는 68165 나노 초 밖에 걸리지 않습니다.끝에있는 구분 기호를 제거하십시오.
List<String> l = Arrays.asList("SURESH1","SURESH2","SURESH4","SURESH5");
StringBuffer l1 = new StringBuffer();
int sz = l.size();
int i=0; long t =
System.nanoTime();
for (String s : l)
{
l1.append(s);
if (i != sz-1)
l1.append(","); i++;
}
}
long t2 = System.nanoTime();
System.out.println ((t2-t)); System.out.println(l1);
// The time taken for the above code is 68165 nano seconds
SURESH1,SURESH2,SURESH4,SURESH5
내가보기에 어떤 것이 더 좋을지 알려주세요.
가능한 복제본 [(자바) StringBuilder의 마지막 문자를 제거 하시겠습니까?] (http://stackoverflow.com/questions/3395286/java-remove-last-character-of-a-stringbuilder) –
죄송합니다. 투표. –
@jon skeet, 나는 그것이 중복이라는 것을 알고있다. 아무도 대답을하지 못한다. 그래서 새로운 것을 만들고, 사과한다. 어떤 코드가 더 빠르다는 것을 알려주십시오. –