Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 需要关于arraylist上的索引越界异常的帮助吗_Java_Sorting_Arraylist - Fatal编程技术网

Java 需要关于arraylist上的索引越界异常的帮助吗

Java 需要关于arraylist上的索引越界异常的帮助吗,java,sorting,arraylist,Java,Sorting,Arraylist,这是我的代码。当我运行测试时,它会给我索引越界错误,并提高if (songList.get(j).getDuration()<(songList.get(j-1).getDuration()) ) { (songList.get(j.getDuration()i;++j) { if(songList.get(j.getDuration()i;--j) { if(songList.get(j.getWriter().compareTo(songList.get(j-i.g

这是我的代码。当我运行测试时,它会给我索引越界错误,并提高if

(songList.get(j).getDuration()<(songList.get(j-1).getDuration())  )
        {
(songList.get(j.getDuration()i;++j)
{
if(songList.get(j.getDuration()i;--j)
{
if(songList.get(j.getWriter().compareTo(songList.get(j-i.getWriter())i;--j)
{
if(songList.get(j.getGenre().compareTo(songList.get(j-1.getGenre())i;--j)
{

如果(songList.get(j).getYear()您正试图使用
j
for
循环从
数组列表的末尾开始

for (int j = songList.size()-1; j > i ; ++j)
但是,这会增加
j
,因此您将运行
ArrayList
的末尾

相反,减小
j
,这样您就不会跑完终点,因此循环最终将有
j
满足
i
并终止:

//                                      HERE
for (int j = songList.size()-1; j > i ; --j)
您的另一个
j
for
循环已正确执行
--j

//                                      HERE
for (int j = songList.size()-1; j > i ; --j)