我这里只介绍了项目中最常用的哈,比如像集合有很多,但我们最常用的就是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("I