如何在arraylist中切换字符串对?

时间:2013-12-15 16:59:19

标签: java string methods collections arraylist

我如何翻转列表中的每对值? 例如,如果我有一个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));
    }
  }
}

我很感激帮助!!!

1 个答案:

答案 0 :(得分:1)

每次只需将索引增加2并在索引ii + 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));
}