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 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符. 示例: 输入: " ...
随机推荐
- ## Python中的Package和Jupyter中import包问题
前言 关于python包的一些知识 Java中的package概念 我们知道在java中的import package概念, java中的包就是一个目录,里面包含着子目录,子目录套着子目录,当需要引入 ...
- Git协作
前面的话 本文将详细介绍Git多人协作的具体内容 远程仓库 当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin. ...
- 初学VUE2.0
初学VUE2.0 (个人笔记,写完后发现好乱....下期使用markdown书写.) 概述 webstorm添加对VUE的支持 http://www.jianshu.com/p/142dae4f8b5 ...
- java复习(8)---I/O
本节复习java常用i/o,输入输出流. 先放上样例代码.方便参考,可以轻松看懂. package re08; import java.io.*; import java.util.Scanner; ...
- 关于Java内存管理的几个小技巧
这里将介绍几则Java内存管理的小技巧,让你让你从Java入门开始告别陋习,为Java程序提速.有不少人都说"Java完了,只等着衰亡吧!",为什么呢?最简单的的例子就是Java做 ...
- wpf之StackPanel、WrapPanel、WrapPanel之间的关系
一.StackPanel StackPanel是以堆叠的方式显示其中的控件 1.可以使用Orientation属性更改堆叠的顺序分为水平方向(Orientation="Horizontal& ...
- 在ABP框架中使用MapTo容易犯的错误
用自己的话说:MapTo其实就是两个实体间的数据转换.不用像以前那样p.name=p1.name 这样赋值,一旦实体的属性多到十几个以上的时候,这样赋值代码就显得有些臃肿了,如下面: Resource ...
- & and &&区别
&:位逻辑运算: &&:逻辑运算: &&在java中又称为短路,第一个条件是false的话后面就不执行: &是所有条件都执行: System.out.p ...
- php生成二维码的几种方式整理及使用实例
hp生成二维码的方式:1.google开放api:2.php类库PHP QR Code:3.libqrencode:4.QRcode Perl CGI & PHP scripts感兴趣的朋友可 ...
- centos下的activemq的配置及PHP的使用
一.安装JDK 1.下载JDK(官网:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht ...