如何更改姓名为:
的arraylist中的值christopher hitchens
william craig
到
hitchens, christopher
craig, william
答案 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)
如果您正在使用java8,则可以查看replaceAll
方法:
List<String> list = Arrays.asList("christopher hitchens","william craig");
list.replaceAll(s -> {String[] names = s.split(" ");
return names[1]+","+names[0];}
);