我如何翻转列表中的每对值? 例如,如果我有一个arraylist [“aa”“,”bb“”,“cc”“,”DDD“,”happy“,”snow“]。 然后想在列表中存储[“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));
}
}
}
我很感激帮助!!!
答案 0 :(得分:1)
每次只需将索引增加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));
}