如何将String ArrayList的内容转换为char ArrayList

时间:2015-04-27 21:25:42

标签: java string arraylist char

我目前有一个String ArrayList,其内容为[a,b,c,d,e ...]等。但是,我需要一个基于字符的arraylist(ArrayList名称)。我如何继续循环我的String arraylist并将其元素转换为char,以附加到char arraylist?

将完整数字[1,2,3,4 ...]的字符串arraylist转换为整数arraylist也是如此。我将如何继续循环,转换类型,并将其添加到新的arraylist?

2 个答案:

答案 0 :(得分:1)

对于第一个问题,只需使用for循环并使用字符串

的char charAt(0)方法
List<String> arrayList;
List<Character> newArrayList = new ArrayList<>();

for( int i = 0; i < arrayList.size(); i++ ){
    String string = arrayList.at(i);
    newArrayList.add( string.charAt(0) ); // 0 becouse each string have only 1 char
}

第二个你可以使用Intenger.parseint

List<String> arrayList;
List<int> newArrayList = new ArrayList<>();

for( int i = 0; i < arrayList.size(); i++ )
{
    String string = arrayList.at(i);
    newArrayList.add( Intenget.parseInt(string) );
}

答案 1 :(得分:0)

如你所说 - 你必须循环ArrayList

List<String> stringList = ...;
List<Character> charList = new ArrayList<>(old.size());

// assuming all the strings in old have one character, 
// as per the example in the question 
for (String s : stringList) {
    charList.add(s.charAt(0));
}

编辑:
您没有指定您正在使用的Java版本,但在Java 8中,使用stream()方法可以更加优雅地完成更多

List<Character> charList = 
    stringList.stream().map(s -> s.charAt(0)).collect(Collectors.toList());