01-題目:
1.編寫一個程序,這個程序把一個整數數組中的每個元素用逗號連接成一個字符串。
2.例如,根據內容爲[1][2][3]的數組形成內容爲"1,2,3"的字符串。
02-思路:
1.創建一個整數數組。
2.構建一個StringBuilder(可變的字符串序列)
3.循環輸出。
03-介紹:
1.<<:是邏輯左移,右邊補0。
如:array.length的長度是4,二進制碼是0100;array.length<<1的長度是8,<<表示將1左移一位,二進制碼是1000;則(array.length<<1)-1的長度是7。
2.append和+的區別?
在循環中使用+=會創建多個StringBuilder對象,效率低,而使用append(),只會創建一個。
代碼:
1.第一種方式
package com.eleven;
public class TwoDemo {
public static void main(String[] args) {
int[] array = new int[] { 1, 2, 3, 4 };
StringBuilder sb = new StringBuilder();
for (int i = 0; i < array.length - 1; i++) {
sb.append(array[i] + ",");
}
sb.append(array[array.length - 1]);
System.out.println(sb);
}
}
2.第二種方式(推薦)
package com.eleven.test;
public class TwoDemoTest {
public static void main(String[] args) {
int[] array = new int[] { 1, 2, 3, 4 };
StringBuilder sb = new StringBuilder((array.length << 1) - 1);
for (int i = 0; i < array.length - 1; i++) {
sb.append(array[i]).append(",");
}
sb.append(array[array.length - 1]);
System.out.println(sb);
}
}
3.第三種方式(推薦)
package com.eleven.test;
public class TwoDemoTestYh {
public static void main(String[] args) {
int[] array = new int[] { 1, 2, 3, 4 };
String list = listToIds(array);
System.out.println(list);
}
public static String listToIds(int[] list) {
StringBuilder stringBuilder = new StringBuilder();
for (Object object : list) {
stringBuilder.append(object.toString()).append(",");
}
if (stringBuilder.length() > 0) {
stringBuilder.deleteCharAt(stringBuilder.length() - 1);
}
return stringBuilder.toString();
}
}