Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中更改数组列表的所有值?_Java_Arraylist_Java8 - Fatal编程技术网

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

如何在java中更改数组列表的所有值?,java,arraylist,java8,Java,Arraylist,Java8,如何更改arraylist中名为的值: christopher hitchens william craig 到 使用String.split拆分名字和姓氏,然后可以按任意顺序将它们重新组合在一起: List<String> nameList = ...; for (int i = 0; i < nameList.size(); ++i) { String[] names = nameList.split(" "); nameList.set (i, name

如何更改arraylist中名为的值:

christopher hitchens
william craig


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

List<String> nameList = ...;
for (int i = 0; i < nameList.size(); ++i) {
    String[] names = nameList.split(" ");
    nameList.set (i, names[1] + ", " + names[0]);
}
列表名称列表=。。。;
对于(int i=0;i
使用Java 8,您可以执行以下操作:

List<String> listOfStrings = new ArrayList<>();
listOfStrings.add("christopher hitchens");
listOfStrings.add("william craig");
listOfStrings.forEach(this::mapper);
如果你想处理更多的情况,那么你需要提供一个更好的
mapping()
方法,我根据你的输入/输出示例制作了一个非常幼稚的版本。

如果你正在使用,你可以看看这个方法:

List=Arrays.asList(“克里斯托弗·希钦斯”、“威廉·克雷格”);
replaceAll(s->{String[]names=s.split(“”);
返回名称[1]+“,“+名称[0];}
);

@mata:java,在问题中提到过…你尝试过什么吗…发布你的代码你写的代码改变了一个值,然后你写的代码在数组中迭代,然后你把这两个放在一起。这不太管用。提问者还希望交换姓和名的顺序。如果我使用lambda来节省一些代码和空间,我不会明确地编写
StringBuilder
,因为编译器会为我这样做。我们试图在这里编写可读代码,不是吗?
List<String> listOfStrings = new ArrayList<>();
listOfStrings.add("christopher hitchens");
listOfStrings.add("william craig");
listOfStrings.forEach(this::mapper);
private String mapper(final String input) {
    String[] parts = input.split(" ");
    return parts[1] + ", " + parts[0];
}
List<String> list = Arrays.asList("christopher hitchens","william craig");
list.replaceAll(s -> {String[] names = s.split(" "); 
                      return names[1]+","+names[0];}
                );