Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.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 如何反转在不同类中创建的ImageIcon数组的内容?_Java_Arrays_Arraylist_Java Stream_Reverse - Fatal编程技术网

Java 如何反转在不同类中创建的ImageIcon数组的内容?

Java 如何反转在不同类中创建的ImageIcon数组的内容?,java,arrays,arraylist,java-stream,reverse,Java,Arrays,Arraylist,Java Stream,Reverse,我目前有一个名为ImageShow的ArrayList。我一直在努力寻找在Java中交换这个数组内容的方法,但我没有找到一种方法 ImageShow.add(new ImageIcon(file.listFiles()[a].getAbsolutePath())); //Adding the files into an imageicon array 这就是我将文件内容放入数组的方式,然后我希望它能够反转数组中所有项的内容。例如,数组将按顺序包含15.png、23.png、32.png、47.

我目前有一个名为ImageShow的ArrayList。我一直在努力寻找在Java中交换这个数组内容的方法,但我没有找到一种方法

ImageShow.add(new ImageIcon(file.listFiles()[a].getAbsolutePath())); //Adding the files into an imageicon array
这就是我将文件内容放入数组的方式,然后我希望它能够反转数组中所有项的内容。例如,数组将按顺序包含15.png、23.png、32.png、47.png、58.png、64.png、76.png、81.png,但我希望能够按下一个按钮,它将颠倒顺序。有人能帮忙吗?我找到了使用字符串而不是ImageIcon数组的方法

谢谢。

使用a将是处理此问题的简单方法。将单个参数传递给该参数时,文件名和描述都是参数

final Comparator<ImageIcon> sortBy = Comparator.comparing(ImageIcon::getDescription).reversed();
List<ImageIcon> sortedList = ImageShow.stream().sorted(sortBy).collect(toList());
final Comparator sortBy=Comparator.comparing(ImageIcon::getDescription).reversed();
List-sortedList=ImageShow.stream().sorted(sortBy.collect)(toList());

因此可以将第一个值与最后一个值交换。然后将第二个值与第二个最后一个值交换。等等,所以你写了一个循环来做这个。当您完成阵列的一半时,您就完成了,因为所有项目都已交换。数组的内容(字符串或ImageIcon)也不相关,变量名不应以大写字符开头。因此,在上一个问题中,您询问的是“排序”,在这个问题中,您询问的是“反转”。“反转”不关心列表中项目的顺序。它只是颠倒了列表中的项目。“排序”意味着您要遵循so规则,您将使用比较器。问一个清楚的问题,不要混淆术语。另外,当你得到帮助时,不要忘记点击复选标记“接受”答案,这样人们就知道问题已经解决了。你问的两个问题都得到了帮助。嘿,camickr。在我提出的第一个问题中,我不知道如何对问题进行排序,尽管其中一个答案确实有所帮助。我决定第一次对数组进行排序,只按一种方式(价格)排序,这就是颠倒顺序。我不知道如何将它们标记为已回答,所以谢谢你。真的吗?当您还可以使用
ImageShow.sort(sortBy)对列表进行适当排序时,为什么使用流是“处理此问题的简单方法”?此外,当任务是反转现有的列表顺序时,一个普通的
Collections.reverse(ImageShow)也可以。优点:)我想我应该多考虑一下。。