zoukankan      html  css  js  c++  java
  • String字符串位置移动

    有规律的String字符串位置移动

    1.自定义一个有规律的String字符串

    String numstr = "1,2,3,x,y,4,5";

    2.按逗号拆分numstr字符串

    String[] nums = numstr.split(",");

    3.将nums数组转为list

    List<String> numlist = Arrays.asList(nums);

    4.获取list中x的下标 此处index为:3

    int index = numlist.indexOf("x");

    5.将x向后移动一位

    Collections.rotate(numlist.subList(index, index+1+1), -1);

    6.将list转为String字符串  此处输出numstr为:1,2,3,y,x,4,5

    numstr = String.join(",", numlist);

     7.rotate方法的使用

    Rotate方法需要一个参数distance,该方法将一个List旋转多少长度为distance。假如有个序列列list[a,b,c,d],调用方法Collections.rotate(list, 1)后,得到的list就变为了[d,a,b,c]。 
    调用此方法后,位置i上的元素将变为位置(i - distance) mod list.size()的元素,0 <= i < list.size()distance可以为正数、0、负数。正数代表向前(下标值变大的方向)旋转,负数代表向后旋转。调用方法Collections.rotate(list, -1)后,得到的list就变为了[b,c,d,a]

    这个方法常常和ListsubList方法结合使用,用于将一个list的某个或多个元素进行移动,而不破坏其余元素的顺序。例如为了将某个list的位置j的元素向前移动到k的位置。(设移动的距离为dd >= 0),k = j + d + 1)。

    Collections.rotate(list.subList(j, k+1), -1);

    举个栗子,例如[a,b,c,d,e],将b元素向前移动三个位置

    Collections.rotate(list.subList(1, 5), -1);

       调用后得到list[a,c,d,e,b]

    8.rotate详解

    https://blog.csdn.net/u014532901/article/details/52891183

  • 相关阅读:
    [bochs]反编译的代码只能参考参考
    [Linux命令]dd
    exp1orer.exe木马解除方法
    江民公布“密码7005”最新变种技术报告
    广外女生1次惊心动魄的卸载
    [病毒]exp1orer.exe
    [Win2003]禁用关机原因调查
    获得本机IP地址
    一段连接FTP的VC代码
    [Perl]FTP自动上传文件的脚本以及配置文件
  • 原文地址:https://www.cnblogs.com/gyli20170901/p/9477435.html
Copyright © 2011-2022 走看看