【问题标题】:How do i switch pairs of strings in an arraylist?如何在arraylist中切换字符串对?
【发布时间】:2023-03-24 17:05:01
【问题描述】:

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

感谢您的帮助!!!

【问题讨论】:

    标签: java string methods collections arraylist


    【解决方案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));
    }
    

    【讨论】:

    • 感谢您的帮助!!
    猜你喜欢
    • 2012-02-14
    • 2015-08-18
    • 2015-11-30
    • 2011-11-12
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 2015-09-11
    相关资源
    最近更新 更多