我這里只介紹了項目中最常用的哈,比如像集合有很多,但我們最常用的就是ArrayList。
然后我這里會以javascript中的字符串、數組的方法為基準來實現,有些方法js和java會有些區別也會介紹
字符串
每次修改 String 對象都會創建一個新的對象,而 StringBuffer 可以在同一個對象上進行修改,這可以提高性能并減少內存消耗。StringBuffer對象可以被修改,并且不會創建新的對象,這使得它在需要頻繁修改字符串內容的情況下更加高效
StringBuffer
如果項目中碰到需要頻繁修改的字符串建議先將字符串轉為StringBuffer:
1. String轉StringBuffer
String str = "12345";
StringBuffer bufStr = new StringBuffer(str);
System.out.println(bufStr);
2. 追加
StringBuffer buffer = new StringBuffer();
// 追加
buffer.append("1");
buffer.append("3");
buffer.append("4");
buffer.append("5");
3. 插入 (從第幾個位置插入元素)
buffer.insert(1, "2");
4. 截取(包前不包后 類似于js的slice)
注意:這里的返回值為String類型而不是StringBuffer
String substring = buffer.substring(1, 4); // 234
5. 反轉
StringBuffer reverseBuffer = buffer.reverse(); // 54321
6. StringBuffer轉為String
String s = buffer.toString();
String
1. 轉集合 (js中的split)
// 轉集合(使用split方法先轉為數組再轉為集合)
List<String> strings = Arrays.asList(str.split(" ")); // 使用空格切分
System.out.println(strings); // [Hello, World]
2. 截取 (js中的slice)
String substring = str.substring(0, 5);
3. 獲取索引(js中的IndexOf)
int ellIndex = str.indexOf("ell"); // 1
4. 獲取最后一個索引(js中的lastIndexOf)
int ellLastIndex = str.lastIndexOf("ell");
5. 判斷以什么開頭(同js的startsWith)
boolean isFirstHello = str.startsWith("Hello"); // true
6. 判斷以什么結尾(同js的endsWith)
boolean isLastHello = str.endsWith("World"); // true
7. 字符串替換
這里需要注意一下
不同于前端的是:
java中的replace方法會把字符串中所有字符都替換,這相當于js中的replaceAll方法。
java中的replaceFirst方法只會替換第一個字符,這相當于js中的replace方法。
java中還提供了replaceAll方法,這也是替換所有,不過它適用于基于正則表達式的復雜替換需求,提供更大的靈活性。
String replace = str.replaceFirst("l", "哈哈"); // He哈哈lo World
String replace1 = str.replace("l", "哈哈"); // He哈哈哈哈o Wor哈哈d
8. 去除首位空格
String str1 = " w f t ";
String trim = str1.trim(); // w f t
ArrayList集合
再說集合之前,我們先簡單說一下java中的數組
數組
1. 創建數組
int[] numbers = {1, 2, 3, 4, 5}; // 直接初始化
String[] names = {"Alice", "Bob", "Charlie"}; // 字符串數組初始化
2. 訪問和修改數組元素
int[] numbers = {1, 2, 3, 4, 5};
System.out.println(numbers[0]); // 輸出: 1
numbers[0] = 10; // 修改第一個元素
System.out.println(numbers[0]); // 輸出: 10
3. 獲取數組長度
int[] numbers = {1, 2, 3, 4, 5};
System.out.println("Array length: " + numbers.length); // 輸出: Array length: 5
4. 遍歷數組
4.1 使用 for 循環
int[] numbers = {1, 2, 3, 4, 5};
for (int i = 0; i < numbers.length; i++) {System.out.println(numbers[i]);
}
4.2 使用增強型 for 循環(for-each)
int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {System.out.println(num);
}
5. 常用方法
Java 提供了 java.util.Arrays
類,其中包含了許多靜態方法來操作數組。以下是一些常用的工具方法:
-
Arrays.toString(array)
:將數組轉換為字符串表示形式。int[] numbers = {1, 2, 3, 4, 5}; System.out.println(Arrays.toString(numbers)); // 輸出: [1, 2, 3, 4, 5]
-
Arrays.sort(array)
:對數組進行排序,默認是升序排列。int[] numbers = {5, 3, 1, 4, 2}; Arrays.sort(numbers); System.out.println(Arrays.toString(numbers)); // 輸出: [1, 2, 3, 4, 5]
-
Arrays.fill(array, value)
:用指定的值填充數組的所有元素。int[] numbers = new int[5]; Arrays.fill(numbers, 7); System.out.println(Arrays.toString(numbers)); // 輸出: [7, 7, 7, 7, 7]
-
Arrays.binarySearch(array, key)
:在已排序的數組中查找指定的值。如果找到則返回索引,否則返回負數。int[] numbers = {1, 2, 3, 4, 5}; int index = Arrays.binarySearch(numbers, 3); System.out.println("Index