-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStringConcatenationPerformance.java
More file actions
37 lines (33 loc) · 1.33 KB
/
StringConcatenationPerformance.java
File metadata and controls
37 lines (33 loc) · 1.33 KB
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
31
32
33
34
35
36
37
class StringConcatenationComparison {
public static void main(String[] args) {
int iterations = 1000;
String word = "Hello";
// Using String
long startTime = System.nanoTime();
String str = "";
for (int i = 0; i < iterations; i++) {
str += word;
}
long endTime = System.nanoTime();
long stringTime = (endTime - startTime) / 1_000_000;
// Using StringBuilder
startTime = System.nanoTime();
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < iterations; i++) {
stringBuilder.append(word);
}
endTime = System.nanoTime();
long stringBuilderTime = (endTime - startTime) / 1_000_000;
// Using StringBuffer
startTime = System.nanoTime();
StringBuffer stringBuffer = new StringBuffer();
for (int i = 0; i < iterations; i++) {
stringBuffer.append(word);
}
endTime = System.nanoTime();
long stringBufferTime = (endTime - startTime) / 1_000_000;
System.out.println("String Concatenation Time: " + stringTime + " ms");
System.out.println("StringBuilder Concatenation Time: " + stringBuilderTime + " ms");
System.out.println("StringBuffer Concatenation Time: " + stringBufferTime + " ms");
}
}