2014-12-06 3 views
1

나는 +, stringbuilderappend 및 concat에 관한 많은 기사를 읽었습니다. 그러나, 만약 내가 단 하나의 연결만으로 최선의 선택을한다면?문자열 연결을 사용하는 경우

  1. 인 str1 + str2가
  2. 사용 스트링 빌더
  3. 를 사용하여 문자열 CONCAT

만 만 2 문자열을 포함하는 경우 내가 설명을 찾고 있어요.

또한 2 개의 문자열이 관련되어있을 때 String concat O (n)의 복잡도는 n이 가장 긴 문자열의 길이입니까?

답변

1

단일 연결을 수행하는 경우 str1 + str2을 사용하십시오. 이것은 읽기 쉽고 컴파일러에 의해 문자열 concat으로 변환 될 것입니다. 루프 또는 무언가를 거치지 않으면 완벽하게 괜찮습니다. 사실 문자열을 한 번만 연결하려는 경우 StringBuilder를 사용하는 것보다 빠릅니다.

반복하지 않는 경우 문자열 작성기를 사용하지 않아야하는 이유에 대한 설명은 http://blog.codinghorror.com/the-sad-tragedy-of-micro-optimization-theater/을 참조하십시오.

또한 2 개의 문자열이 관련된 경우 String concat O (n)의 복잡도는 n이 가장 긴 문자열의 길이입니까?

그렇게 말할 수 있습니다. 나는 그것이 O(n)이라고 말하고 싶습니다. 여기서 n은 두 문자열의 결합 된 길이이지만 가장 짧은 문자열은 정의상 최장 문자열보다 크기가 커질 수 없으므로 모두 동일하게 나타납니다.

관련 문제