如何在java中更改数组列表的所有值?

时间:2014-03-27 18:40:17

标签: java arraylist

如何更改姓名为:

的arraylist中的值
christopher hitchens
william craig

hitchens, christopher
craig, william

3 个答案:

答案 0 :(得分:0)

使用String.split拆分名字和姓氏,然后您可以按照您想要的任何顺序将它们重新组合在一起:

List<String> nameList = ...;
for (int i = 0; i < nameList.size(); ++i) {
    String[] names = nameList.split(" ");
    nameList.set (i, names[1] + ", " + names[0]);
}

答案 1 :(得分:0)

使用Java 8,您可以执行以下操作:

List<String> listOfStrings = new ArrayList<>();
listOfStrings.add("christopher hitchens");
listOfStrings.add("william craig");
listOfStrings.forEach(this::mapper);

mapper()

一样
private String mapper(final String input) {
    String[] parts = input.split(" ");
    return parts[1] + ", " + parts[0];
}

如果你想处理更多案例,那么你需要提供一个更好的mapping()方法,我根据你的输入/输出例子做了一个非常天真的版本。

答案 2 :(得分:0)

如果您正在使用,则可以查看replaceAll方法:

List<String> list = Arrays.asList("christopher hitchens","william craig");
list.replaceAll(s -> {String[] names = s.split(" "); 
                      return names[1]+","+names[0];}
                );