如何将字符的Arraylist转换为字符数组

时间:2014-01-25 04:58:21

标签: java

当我创建字符的ArrayList(ArrayList<Character>)以动态添加元素到列表时,我正在处理一个项目。

然后,我如何将其转换为字符数组? (这是后续功能的一部分)

4 个答案:

答案 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