產生格式 i:i*100,i=1..99,以分號分隔。
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 99; i++) {
if (i > 1) sb.append(';');
sb.append(i).append(':').append(i * 100);
}
String result = sb.toString();
String result = IntStream.rangeClosed(1, 99)
.mapToObj(i -> i + ":" + (i * 100))
.collect(Collectors.joining(";"));
String result = "";
for (int i = 1; i <= 99; i++) {
result += i + ":" + (i * 100);
if (i < 99) result += ";";
}
| 方法 | 時間複雜度 | 記憶體分配 | 建議場景 |
|---|---|---|---|
| StringBuilder | O(N) | 少量擴容 | 生產環境、大量拼接 |
| Stream + joining | O(N) | 中等 | 程式碼簡潔優先 |
| String += | O(N²) | 大量臨時物件 | 極小資料量、教學示範 |
使用 for 迴圈搭配 StringBuilder 是產生固定格式字串序列的標準做法,兼顧效能與可讀性。