本篇总结归纳对字符串或数组进行相关操作问题

  1. 数组倒序输出
  2. 查找字符串中第一次重复的字符
  3. 查找字符串中第一次没有重复的字符
  4. 删除字符串中重复的元素

倒序输出问题

第一种:对于数组

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对字符串进行的操作的更多相关文章

  1. java常见字符串的操作

    /** * java常见字符串的操作 */ public class Test7 { public static void main(String args[]){ StringBuffer sBuf ...

  2. 使用javap分析Java的字符串操作

    我们看这样一行简单的字符串赋值操作的Java代码. String a = "i042416"; 使用命令行将包含了这行代码的Java类反编译查看其字节码: javap -v con ...

  3. 四:Java之字符串操作String、StringBuffer和StringBuilder

    string是我们经经常使用到的一个类型,事实上有时候认为敲代码就是在重复的操作字符串,这是C的特点,在java中.jdk非常好的封装了关于字符串的操作.三个类String .StringBuffer ...

  4. JAVA作业—字符串操作

    ------------恢复内容开始------------ ------------恢复内容开始------------ ------------恢复内容开始------------ ------- ...

  5. Java的字符串操作

    目录 Java的字符串操作 一.不同字符串操作的对比 1.1 C++中const修饰指针 const在星号的左边,是被指向的常量不可变 const在星号的右边,是指针的指向不可变 二. Java字符串 ...

  6. Java的字符串操作一些简单的思考

    Java的字符串操作 1 .1不可变的String String对象事不可变的,String类中的每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符 ...

  7. Java String 字符串操作小结

    // 转载加编辑 -- 21 Apr 2014 1. Java字符串中子串的查找 Java中字符串中子串的查找共有四种方法,如下: 1.int indexOf(String str) :返回第一次出现 ...

  8. JAVA中字符串常见操作

    String str1="hello,world";String str2="Hello,World"; 1.字符串的比较:例,System.out.print ...

  9. Java实现 LeetCode 583 两个字符串的删除操作(求最长公共子序列问题)

    583. 两个字符串的删除操作 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符. 示例: 输入: " ...

随机推荐

  1. ## Python中的Package和Jupyter中import包问题

    前言 关于python包的一些知识 Java中的package概念 我们知道在java中的import package概念, java中的包就是一个目录,里面包含着子目录,子目录套着子目录,当需要引入 ...

  2. Git协作

    前面的话 本文将详细介绍Git多人协作的具体内容 远程仓库 当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin. ...

  3. 初学VUE2.0

    初学VUE2.0 (个人笔记,写完后发现好乱....下期使用markdown书写.) 概述 webstorm添加对VUE的支持 http://www.jianshu.com/p/142dae4f8b5 ...

  4. java复习(8)---I/O

    本节复习java常用i/o,输入输出流. 先放上样例代码.方便参考,可以轻松看懂. package re08; import java.io.*; import java.util.Scanner; ...

  5. 关于Java内存管理的几个小技巧

    这里将介绍几则Java内存管理的小技巧,让你让你从Java入门开始告别陋习,为Java程序提速.有不少人都说"Java完了,只等着衰亡吧!",为什么呢?最简单的的例子就是Java做 ...

  6. wpf之StackPanel、WrapPanel、WrapPanel之间的关系

    一.StackPanel StackPanel是以堆叠的方式显示其中的控件 1.可以使用Orientation属性更改堆叠的顺序分为水平方向(Orientation="Horizontal& ...

  7. 在ABP框架中使用MapTo容易犯的错误

    用自己的话说:MapTo其实就是两个实体间的数据转换.不用像以前那样p.name=p1.name 这样赋值,一旦实体的属性多到十几个以上的时候,这样赋值代码就显得有些臃肿了,如下面: Resource ...

  8. & and &&区别

    &:位逻辑运算: &&:逻辑运算: &&在java中又称为短路,第一个条件是false的话后面就不执行: &是所有条件都执行: System.out.p ...

  9. php生成二维码的几种方式整理及使用实例

    hp生成二维码的方式:1.google开放api:2.php类库PHP QR Code:3.libqrencode:4.QRcode Perl CGI & PHP scripts感兴趣的朋友可 ...

  10. centos下的activemq的配置及PHP的使用

    一.安装JDK 1.下载JDK(官网:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht ...