arraylist 转 char数组
时间: 2023-08-29 20:12:24 浏览: 185
可以使用toArray()方法将ArrayList转换为char数组,示例如下:
```java
ArrayList<Character> list = new ArrayList<>();
list.add('a');
list.add('b');
list.add('c');
char[] chars = new char[list.size()];
for (int i = 0; i < list.size(); i++) {
chars[i] = list.get(i);
}
System.out.println(Arrays.toString(chars));
```
输出结果为:[a, b, c]
相关问题
java中的char数组的创建
在Java中,创建一个字符数组非常直接,你可以按照以下步骤操作:
1. **静态初始化**:
```java
char[] charArray = {'H', 'e', 'l', 'l', 'o'};
```
这里,我们创建了一个包含5个字符的数组,分别是'H', 'e', 'l', 'l', 'o'。
2. **动态初始化**:
```java
int length = 3; // 或者从用户输入、变量等获取长度
charArray = new char[length];
```
在这种情况下,数组会有一个初始长度,后续可以使用`charArray[i] = 'c';`这样的方式填充字符。
3. **使用字符串转换**:
如果你有一个字符串,可以直接将其转换为字符数组:
```java
String str = "Java";
charArray = str.toCharArray();
```
这将把字符串的所有字符复制到一个新的字符数组中。
4. **长度可变**:
如果需要一个可变长度的字符数组,可以使用ArrayList或StringBuilder:
```java
import java.util.ArrayList;
ArrayList<Character> charList = new ArrayList<>();
// 添加元素并转为字符数组
charArray = charList.toArray(new char[charList.size()]);
```
如何把char数组集合内的字符串 通过字节输出流 输出?
可以按照以下步骤实现:
1. 创建一个 ByteArrayOutputStream 对象,用于存储输出的字节流。
2. 遍历 char 数组集合,将每个字符串转换为字节数组,然后将其写入 ByteArrayOutputStream 中。
3. 将 ByteArrayOutputStream 转换为字节数组,然后使用 FileOutputStream 将其写入文件或其他输出流中。
以下是示例代码:
```java
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
public class CharArrayOutputStreamExample {
public static void main(String[] args) {
ArrayList<String> strings = new ArrayList<>();
strings.add("Hello");
strings.add("World");
strings.add("!");
// 创建 ByteArrayOutputStream 对象
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// 遍历 char 数组集合,将每个字符串转换为字节数组,然后写入 ByteArrayOutputStream
for (String s : strings) {
byte[] bytes = s.getBytes();
try {
baos.write(bytes);
} catch (IOException e) {
e.printStackTrace();
}
}
// 将 ByteArrayOutputStream 转换为字节数组
byte[] byteArray = baos.toByteArray();
// 使用 FileOutputStream 将字节数组写入文件
try (FileOutputStream fos = new FileOutputStream("output.txt")) {
fos.write(byteArray);
System.out.println("写入成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
上述代码将 char 数组集合中的字符串转换为字节数组,并通过 FileOutputStream 写入到文件中。
阅读全文