Java 需要关于arraylist上的索引越界异常的帮助吗
这是我的代码。当我运行测试时,它会给我索引越界错误,并提高ifJava 需要关于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
(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)