当我创建字符的ArrayList(ArrayList<Character>
)以动态添加元素到列表时,我正在处理一个项目。
然后,我如何将其转换为字符数组? (这是后续功能的一部分)
答案 0 :(得分:3)
我建议只是遍历整个arraylist并将chars添加到你的数组中。
char[] myCharArray = new char[list.size()];
for(int i = 0; i < list.size(); i++) {
myCharArray[i] = list.get(i);
}
答案 1 :(得分:2)
你可以做一个快速的方法,为你做到这一点:
public static char[] convert(final List<Character> list){
final char[] array = new char[list.size()];
for(int i = 0; i < array.length; i++)
array[i] = list.get(i);
return array;
}
答案 2 :(得分:1)
试试这个:
public char[] toArray(List<Character> list){
char[] toReturn = new char[list.size()];
int i = 0;
for(char c : list)
toReturn[i ++] = c;
return toReturn;
}
答案 3 :(得分:1)
您可以像其他答案指定的那样轻松地遍历数组,但这是一种不同的方式:
Character[] array = new Character[list.size()];
list.toArray(array);
唯一的问题是它不适用于基本类型char
,所以你必须使用包装类Character
除了您使用Character
类数组与char
数组之外,它不会改变任何内容。
示例:
public static void main(String args[])
{
List<Character> list = new ArrayList<Character>();
list.add('a');
list.add('x');
list.add('j');
Character[] array = new Character[list.size()];
list.toArray(array);
System.out.println(Arrays.toString(array));
}
输出:
[a, x, j]
有关ArrayList方法的信息,请查看Docs。