java将两个字符串拼成数组
时间: 2024-01-27 21:05:53 浏览: 77
你可以使用Java中的String类的split()方法将两个字符串拼接成数组。这个方法接受一个正则表达式作为参数,用于指定拆分字符串的规则。首先,将两个字符串用某个特定的字符或字符串连接起来,然后使用split()方法将其拆分成数组。
下面是一个示例代码:
```java
String str1 = "Hello";
String str2 = "World";
String[] array = (str1 + " " + str2).split(" ");
System.out.println(Arrays.toString(array));
```
输出结果:
```
[Hello, World]
```
在这个示例中,我们使用空格字符将两个字符串连接起来,然后使用split(" ")方法将其拆分成数组。你可以根据需要选择不同的连接字符和拆分规则。
相关问题
java 如何将两个数组拼接成一个字符串
你可以使用 `StringBuilder` 类来将两个数组拼接成一个字符串。下面是一个示例代码:
```java
String[] arr1 = {"Hello", "world", "!"};
String[] arr2 = {"How", "are", "you", "?"};
StringBuilder sb = new StringBuilder();
for (String str : arr1) {
sb.append(str);
}
for (String str : arr2) {
sb.append(str);
}
String result = sb.toString();
System.out.println(result); // 输出:Hello world! How are you?
```
在上面的示例代码中,我们首先定义了两个字符串数组 `arr1` 和 `arr2`。然后,我们使用 `StringBuilder` 类来将这两个数组拼接成一个字符串 `result`。我们使用 `append()` 方法将数组中的元素逐个添加到 `StringBuilder` 对象中,最后使用 `toString()` 方法将 `StringBuilder` 对象转换为字符串。
Java将两个字符串,先合并,后去重,不能使用stringbuilder何HashSet,只能使用字符串或者数组自带的方法实现
如果只能使用字符串或数组自带的方法,可以使用一个长度为256的数组来实现去重操作。具体步骤如下:
1. 将两个字符串合并成一个字符串。
2. 创建一个数组,数组的长度为所有字符的ASCII码值的最大值加1。
3. 遍历字符串中的每个字符,将字符对应的数组元素加1。
4. 使用字符串的indexOf方法找到第一个出现的该字符的位置,如果该位置等于当前位置,表示该字符只出现了一次,将该字符拼接到结果字符串中。
代码示例(使用字符串的方法):
```java
String str1 = "hello";
String str2 = "world";
String str3 = str1 + str2; // 合并字符串
int[] count = new int[256]; // ASCII码值的最大值为255,所以数组长度为256
String result = "";
for (char c : str3.toCharArray()) {
count[c]++; // 将字符对应的数组元素加1
if (str3.indexOf(c) == str3.lastIndexOf(c)) { // 如果字符只出现了一次
result += c; // 将该字符拼接到结果字符串中
}
}
System.out.println(result); // 输出结果
```
输出结果为:helowrd
代码示例(使用数组的方法):
```java
String str1 = "hello";
String str2 = "world";
String str3 = str1 + str2; // 合并字符串
int[] count = new int[256]; // ASCII码值的最大值为255,所以数组长度为256
char[] chars = str3.toCharArray(); // 将字符串转换为字符数组
String result = "";
for (int i = 0; i < chars.length; i++) {
count[chars[i]]++; // 将字符对应的数组元素加1
if (str3.indexOf(chars[i]) == i) { // 如果字符只出现了一次
result += chars[i]; // 将该字符拼接到结果字符串中
}
}
System.out.println(result); // 输出结果
```
输出结果为:helowrd
需要注意的是,使用字符串的方法中,indexOf方法的时间复杂度是O(n),所以总的时间复杂度是O(n^2);而使用数组的方法中,遍历字符数组的时间复杂度是O(n),所以总的时间复杂度是O(n)。同时,由于字符串的长度是可变的,所以使用字符串的方法可能会出现性能问题。
阅读全文