Java 以新顺序生成已存在的列表

Java 以新顺序生成已存在的列表,java,android,arraylist,Java,Android,Arraylist,是否可以生成一个已存在的列表,其中填充名称,例如以新的顺序 因此,清单填写如下: ArrayList<String> playerNames = new ArrayList<String>(); for (int n = 0; n < 5; n++) { String name = "Player"+i; playerNames.add(name); } 变成 Player3 Player4 Playe

是否可以生成一个已存在的列表,其中填充名称,例如以新的顺序

因此,清单填写如下:

ArrayList<String> playerNames =  new  ArrayList<String>();

for (int n = 0; n < 5; n++) 
{       
     String name = "Player"+i;
     playerNames.add(name);
}
变成

Player3
Player4
Player0
Player1
Player2
因此,列表的顺序应该保持不变,只有列表中的第一个应该更改,当然,后面的所有都应该更改


我希望您理解我的意思。

这里有一个简单的代码,您可以如何实现它。 设置要从中开始的索引。 从索引到列表末尾的第一个循环,然后从零到索引

另一个提示是将变量初始化为接口列表而不是ArrayList

     List<String> playerNames = new ArrayList<String>();

    for (int n = 0; n < 5; n++) {
        String name = "Player" + n;
        
        playerNames.add(name);
    }


    int index = 2;
    
    List<String> newOrder = new ArrayList<>();
    for (int n=index; n < playerNames.size(); n++) {
        
        newOrder.add(playerNames.get(n));
    }

    for (int n=0; n < index; n++) {
        
        newOrder.add(playerNames.get(n));
    }
    for (String s : newOrder) {
        System.out.println(s);
    }

是的,这是可能的,为什么不自己试试呢?你能澄清一下,生成一个已经存在的列表吗。。新秩序?您是要A对已经存在的列表中的元素重新排序,还是B创建一个单独的列表来保存已经存在的列表中的元素,但顺序不同?嘿,哦,当然对不起。创建一个单独的列表,使用不同的orderOk为我工作!令人惊叹的非常感谢你。我的想法太复杂了…但最终还是很简单:/谢谢!不客气:解决方案往往比我们想象的简单。
     List<String> playerNames = new ArrayList<String>();

    for (int n = 0; n < 5; n++) {
        String name = "Player" + n;
        
        playerNames.add(name);
    }


    int index = 2;
    
    List<String> newOrder = new ArrayList<>();
    for (int n=index; n < playerNames.size(); n++) {
        
        newOrder.add(playerNames.get(n));
    }

    for (int n=0; n < index; n++) {
        
        newOrder.add(playerNames.get(n));
    }
    for (String s : newOrder) {
        System.out.println(s);
    }