首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 字串拼接產生序列:1:100;2:200;...99:9900 的 For 迴圈與 StringBuilder 實作

     編輯:程式設計綜合問答

需求分析

產生格式 i:i*100,i=1..99,以分號分隔。

方案一:StringBuilder(推薦,效能最佳)

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

方案二:Stream API(Java 8+,函數式風格)

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 += ";";
}

效能比較

方法時間複雜度記憶體分配建議場景
StringBuilderO(N)少量擴容生產環境、大量拼接
Stream + joiningO(N)中等程式碼簡潔優先
String +=O(N²)大量臨時物件極小資料量、教學示範

總結

使用 for 迴圈搭配 StringBuilder 是產生固定格式字串序列的標準做法,兼顧效能與可讀性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved