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 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符. 示例: 输入: " ...
随机推荐
- AngularJs 4大核心
放弃了IE8, 4大核心: MVC: 数据模型,视图层,业务逻辑和控制模式(控制器), 为何MVC不是设计模式呢?(23种设计模式里没有MVC,MVC模式的目的就是实现Web系统的职能分工,超越了设计 ...
- Python -堆的实现
最小(大)堆是按完全二叉树的排序顺序的方式排布堆中元素的,并且满足:ai >a(2i+1) and ai>a(2i+2)( ai <a(2i+1) and ai<a(2 ...
- html运用以及工具
对于这个教程,我建议你只使用最简单的工具.例如:Notepad(在windows里),TextEdit(在Mac上)或是KEdit(在KDE里)就可以了.一旦你了解这个原理,你就会想要切换到更高级的工 ...
- Python全栈之路-Day31
1 反射 反射的精髓是通过字符串去获取对象属性的值 1.1 基于类和对象反射的属性 #!/usr/bin/env python # __Author__: "wanyongzhen" ...
- vue+websocket+express+mongodb实战项目(实时聊天)
继上一个项目用vuejs仿网易云音乐(实现听歌以及搜索功能)后,发现上一个项目单纯用vue的model管理十分混乱,然后我去看了看vuex,打算做一个项目练练手,又不想做一个重复的项目,这次我就放弃颜 ...
- .net之DateTime
Console.WriteLine(DateTime.Now.Year); Console.WriteLine(DateTime.Now.Month); Console.WriteLine(DateT ...
- openfire+smack 实现即时通讯基本框架
smack jar下载地址 http://www.igniterealtime.org/downloads/download-landing.jsp?file=smack/smack_3_2_2.zi ...
- poj1159二维树状数组
Suppose that the fourth generation mobile phone base stations in the Tampere area operate as follows ...
- redis 实例2 构建文章投票网站后端
redis 实例2 构建文章投票网站后端 1.限制条件 一.如果网站获得200张支持票,那么这篇文章被设置成有趣的文章 二.如果网站发布的文章中有一定数量被认定为有趣的文章,那么这些文章需要被设置 ...
- 服务器端IIS中部署带Office组件程序
开发的程序需要用到Office组件(Word.Excel等)的时候,往往在开发环境中运行正常,但是部署到服务器上就出问题. 1)首先保证开发环境引用的dll正确 .net 4.0以上版本,添加引用Mi ...