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]
。
这个方法常常和List
的subList
方法结合使用,用于将一个list
的某个或多个元素进行移动,而不破坏其余元素的顺序。例如为了将某个list
的位置j
的元素向前移动到k
的位置。(设移动的距离为d
(d >= 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
String字符串位置移动的更多相关文章
- Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0
课程概要 String 字符串 String字符串常用方法 StringBuffer StringBuilder String字符串: 1.实例化String对象 直接赋值 String str=& ...
- [CareerCup] 1.3 Permutation String 字符串的排列
1.3 Given two strings, write a method to decide if one is a permutation of the other. 这道题给定我们两个字符串,让 ...
- iOS - Swift String 字符串
前言 public struct String public class NSString : NSObject, NSCopying, NSMutableCopying, NSSecureCodin ...
- 03-Java String字符串详解
1.Java字符串String A.实例化String字符串:直接赋值(更合理一些,使用较多).使用关键字new. B.String内容的比较 // TODO Auto-generated metho ...
- C++学习38 string字符串的增删改查
C++ 提供的 string 类包含了若干实用的成员函数,大大方便了字符串的增加.删除.更改.查询等操作. 插入字符串 insert() 函数可以在 string 字符串中指定的位置插入另一个字符串, ...
- java String字符串——进度1
String字符串 在JAVA中提供了多种创建字符串对象的方法,这里介绍最简单的两种, 第一种是直接赋值, 第二种是使用String类的构造方法: 如下所示: Strin ...
- JavaScript的内置对象(Date日期+string字符串)基础语法总结
1.Date日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒). 1)定义一个时间对象 : var Udate=new Date(); //注意:使用关键字new,Date()的首 ...
- [js高手之路] 跟GhostWu一起封装一个字符串工具库-扩展字符串位置方法(4)
本文,我们接着之前的框架继续扩展,这次扩展了一共有5个与字符串位置相关的方法 between( left, right ) 返回两个字符串之间的内容, 如果第二个参数没有传递,返回的是找到的第一个参数 ...
- 从零开始学习前端JAVASCRIPT — 3、JavaScript基础string字符串介绍
1:字符串 JS中的任何数据类型都可以当作对象来看.所以string既是基本数据类型,又是对象. 2:声明字符串 基本数据类型:var sStr = '字符串'; 对象的方法:var oStr = n ...
随机推荐
- 用@font-face应用自定义字体
@font-face格式 @font-face { font-family: <YourWebFontName>; src: <source> [<format>] ...
- 必应翻译:让Windows上的翻译不再是难事
文章译自:Translations Made Easy on Windows 比方说今年夏天你想出国旅行,计划去一趟德国.你的行程很丰富:参观慕尼黑和柏林,乘坐游船沿莱茵河而下,再品尝几串摩泽尔的葡萄 ...
- Web Service概述 及 应用案例
Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API,它们可以通过网络进行调用 ...
- 吴裕雄--天生自然python学习笔记:pandas模块读取 Data Frame 数据
读取行数据 读取一个列数据的语法为: 例如,读取所有学生自然科目的成绩 : import pandas as pd datas = [[65,92,78,83,70], [90,72,76,93,56 ...
- SpringBoot常见面试题
什么是SpringBootSpringBoot的作用SpringBoot的优点SpringBoot的核心配置文件是什么,有何区别?SpringBoot的配置文件有几种格式,区别是什么?SpringBo ...
- HDU-1061-Rightmost Digit(快速幂)
快速幂(本代码中的^表示次幂不是异或) Accepted 1061 0MS 1368K 679 B G++ #include "bits/stdc++.h" using names ...
- mvn相关介绍和命令
1.前言 Maven,发音是[`meivin],"专家"的意思.它是一个很好的项目管理工具,很早就进入了我的必备工具行列,但是这次为了把project1项目完全迁移并应用maven ...
- Centos_7安装python-pip
使用yum -y install python-pip安装pip时,会报出”No package python-pip available.“. 使用命令: yum -y install epel-r ...
- 吴裕雄--天生自然HTML学习笔记:HTML 属性
属性是 HTML 元素提供的附加信息. HTML 属性 HTML 元素可以设置属性 属性可以在元素中添加附加信息 属性一般描述于开始标签 属性总是以名称/值对的形式出现,比如:name="v ...
- 常胜将军的深思变局:OPPO的渐变释放了怎样的行业信号?
在经过了前几年的狂飙突进后,当下手机行业已经步入了自身的"十年之痒"阶段.利润贴地飞行.T型格局已定且竞争者实力愈强.创新不明显导致消费者换新驱动力降低.全球化竞争趋势凸显-- 也 ...