Java对字符串进行的操作
本篇总结归纳对字符串或数组进行相关操作问题
- 数组倒序输出
- 查找字符串中第一次重复的字符
- 查找字符串中第一次没有重复的字符
- 删除字符串中重复的元素
倒序输出问题
第一种:对于数组
public int[] ArrayReverse(int[] a){
int len = a.length;
int[] b = new int[len-1]; //新建数组用于保存倒序后的数组
for(int i=len-1;i>=0;i--){
b[len-1-i] = a[i];
}
return b;
}
第二种:对于字符串我们可以把它转化成字符数组,在采用for循环来做,或者将字符串转换成StringBuffer,利用StringBuffer的reverse方法
//for循环输出
public String ArrayReverse(String s){
char[] c = s.toCharArray();
for(int i = c.length-1; i>=0; i++){
String rev += c[i];
}
return rev;
}
//StringBuffer操作
public String ArrayReverse(String s){
StringBuffer sb = new StringBuffer(s);
sb.revese();
String newS = sb.toString();
return newS;
}
查找字符串中第一次重复的字符
//查找字符串中第一次重复的字符
public int FindFirstDupChar(String str) {
int i;
for (i = 0; i < str.length(); i++) {
if( str.indexOf(str.charAt(i), i+1) != -1) {
return i;
}
}
if (i == str.length()) {
return -1;
}
return i; //返回第一次重复的字符位置
}
查找字符串中第一次没有重复的字符
public int FindFirstSingleChar(String str){
int i;
for(i = 0; i<str.length(); i++){
char c = str.charAt(i);
if(str.indexOf(c)==str.lastIndexOf(c)){ //判断是否有重复,返回重复位置
return i;
}
}
if (i == str.length()) { //没有返回-1
return -1;
}
return i;
}
删除字符串中重复的元素
第一种:通过list集合的contains方法
//删除字符串中重复的元素
public String deleteDupChar(String str){ List list = new ArrayList();
char[] c = str.toCharArray(); for(int i = 0; i<c.length; i++){
if(!list.contains(c[i])){ //如果不存在的话添加到集合中
list.add(c[i]);
}
}
String s = list.toString();
return s;
}
第二种:利用Set集合中不能添加重复元素的特性
public String deleteDupChar(String str){
char[] c = str.toCharArray();
Set s = new HashSet();
for(int i = 0;i<c.length;i++){
s.add(c[i])
}
return s.toString();
}
Java对字符串进行的操作的更多相关文章
- java常见字符串的操作
/** * java常见字符串的操作 */ public class Test7 { public static void main(String args[]){ StringBuffer sBuf ...
- 使用javap分析Java的字符串操作
我们看这样一行简单的字符串赋值操作的Java代码. String a = "i042416"; 使用命令行将包含了这行代码的Java类反编译查看其字节码: javap -v con ...
- 四:Java之字符串操作String、StringBuffer和StringBuilder
string是我们经经常使用到的一个类型,事实上有时候认为敲代码就是在重复的操作字符串,这是C的特点,在java中.jdk非常好的封装了关于字符串的操作.三个类String .StringBuffer ...
- JAVA作业—字符串操作
------------恢复内容开始------------ ------------恢复内容开始------------ ------------恢复内容开始------------ ------- ...
- Java的字符串操作
目录 Java的字符串操作 一.不同字符串操作的对比 1.1 C++中const修饰指针 const在星号的左边,是被指向的常量不可变 const在星号的右边,是指针的指向不可变 二. Java字符串 ...
- Java的字符串操作一些简单的思考
Java的字符串操作 1 .1不可变的String String对象事不可变的,String类中的每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符 ...
- Java String 字符串操作小结
// 转载加编辑 -- 21 Apr 2014 1. Java字符串中子串的查找 Java中字符串中子串的查找共有四种方法,如下: 1.int indexOf(String str) :返回第一次出现 ...
- JAVA中字符串常见操作
String str1="hello,world";String str2="Hello,World"; 1.字符串的比较:例,System.out.print ...
- Java实现 LeetCode 583 两个字符串的删除操作(求最长公共子序列问题)
583. 两个字符串的删除操作 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符. 示例: 输入: " ...
随机推荐
- kvc模式详解
java利用反射机制访问类的 私有变量.OC的KVC模式也是一样,用来访问私有变量用的. 用字符串去访问对象实例变量的机制. //KVC模式-(void)KVCtest{ [_dm valueForK ...
- 关于mysql查询区分大小写
使用查询语句时,携带collate utf8_bin 在SQL语句中使用collate 使用collate子句,能够为一个比较覆盖任何默认校对规则.collate可以用于多种SQL语句中,比如wher ...
- Android系统--输入系统(八)Reader线程_使用EventHub读取事件
Android系统--输入系统(八)Reader线程_使用EventHub读取事件 1. Reader线程工作流程 获得事件 size_t count = mEventHub->getEvent ...
- androidStudio通过svn进行版本控制
andoridStudio配置使用svn(以windows为例) 1.先安装svn客户端程序,TortoiseSVN,注意安装过程中要勾选command line client tools(默认是不安 ...
- 开通阿里云 CDN
CDN,内容分发网络,主要功能是在不同的地点缓存内容,通过负载均衡技术,将用户的请求定向到最合适的缓存服务器上去获取内容,从而加快文件加载速度. 阿里云提供了按量计费的CDN,开启十分方便,于是我在自 ...
- Html5浏览器支持
HTML5 浏览器支持 把 HTML5 元素定义为块级元素 语义块级displayblock实例 header, section, footer, aside, nav, main, article, ...
- bzoj4652 [Noi2016]循环之美
Description 牛牛是一个热爱算法设计的高中生.在他设计的算法中,常常会使用带小数的数进行计算.牛牛认为,如果在k进制下,一个数的小数部分是纯循环的,那么它就是美的.现在,牛牛想知道:对于已知 ...
- hdu1083二分图匹配模板题
onsider a group of N students and P courses. Each student visits zero, one or more than one courses. ...
- linux 内核的rt_mutex (realtime互斥体)
linux 内核有实时互斥体(锁),名为rt_mutex即realtime mutex.说到realtime一定离不开priority(优先级).所谓实时,就是根据优先级的不同对任务作出不同速度的响应 ...
- String属于“假引用类型”,代码为证(一个String引发的血案...)
一直以为String是引用类型,今天写了个浅拷贝的测试,发现String有基本类型的特征. class A{ public int a = 555; } class User implements C ...