如何翻转列表中的每对值? 例如,如果我有一个数组列表 [“aa”,“bb”,“cc”,“DDD”,“快乐”,“雪”]。 然后想要列表存储 ["bb"", "a"", "DDD", "cc"", "snow", "happy"]
我尝试使用 for 循环,但调用该方法时没有得到任何结果。
public static void flip2(ArrayList<String> list){
for(int i =0; i <list.size(); i++){
Collections.swap(list. i, (i+1){
System.out.println("The new list = " + list));
}
}
}
非常感谢您的帮助!!!
最佳答案
只需每次将索引增加 2 并交换索引 i
和 i + 1
处的元素即可。
public static void main(String[] args) {
List<String> list = Arrays.asList("aa", "bb", "cc", "DDD", "happy", "snow");
for(int i =0; i<list.size(); i+=2){
Collections.swap(list, i, (i+1));
}
System.out.println("The new list = " + list);
}
输出:
The new list = [bb, aa, DDD, cc, snow, happy]
请注意,这假设您的列表中有偶数个对象。
如果您想处理所有可能的情况(无论列表的 size()
是什么),您可以在每次迭代时检查 (i+1)
是否小于大小。
for(int i =0; i+1<list.size(); i+=2){
Collections.swap(list, i, (i+1));
}
关于java - 如何切换数组列表中的字符串对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20597192/