Java对字符串进行的操作

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

  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();
}
时间: 2025-01-16 12:28:43

Java对字符串进行的操作的相关文章

【Java学习】Java中字符串的常见操作

字符串中包含的字符数,也就是字符串的长度 int length();获取长度 根据位置获取位置上的某个字符 char charAt(int index); 根据字符获取该字符在字符串中位置 int indexOf(int ch) 返回的是ch在字符串中的第一次出现的位置.int indexOf(int ch,int fromIndex) 从fromIndex指定位置开始,获取ch在字符串中出现的位置.int indexOf(String str)返回的是str在字符串中的第一次出现的位置.int

Java String字符串的操作

在Java中,String类包含有50多个方法来实现字符串的各种操作.字符串变量必须初始化后才能使用,如果声明时赋值为null,则声明的字符串的值为null,否则表示未初始化的状态.以下介绍一些我们需要经常使用的方法. (1)字符串的连接 public String concat(String str) 该方法的参数为一个String类对象,作用是将参数中的字符串str连接到原来字符串的后面,连接字符串还可以使用+号.可以连接不同的数据类型,自动调用toString()方法,只要"+"

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

string是我们经经常使用到的一个类型,事实上有时候认为敲代码就是在重复的操作字符串,这是C的特点,在java中.jdk非常好的封装了关于字符串的操作.三个类String .StringBuffer . StringBuilder .这三个类基本上满足了我们在不同情景下使用字符串的需求. 一.String JDK的解释是 "Strings are constant; their valuescannot be changed after they are created"也就是说St

java常见字符串的操作

1 /** 2 * java常见字符串的操作 3 */ 4 public class Test7 { 5 public static void main(String args[]){ 6 StringBuffer sBuffer = new StringBuffer("ABCDEF"); 7 sBuffer.append("abcdef"); 8 sBuffer.append(".123"); 9 sBuffer.append(".4

Swift和Java关于字符串和字符的比较

1. 字符串字面量 Swift和Java关于字符串操作大同小异. Swift:字符串字面量(String Literals):我们可以在代码中包含一段预定义的字符串值作为字符串字面量. 字符串字面量是由双引号 ("") 包裹着的具有固定顺序的文本字符集.字符串字面量可以用于为常量和变量提供初始值. 代码如下: let someString = "Some string literal value" 字符串字面量可以包含以下特殊字符: 转义字符\0(空字符).\\(反

Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0

课程概要 String 字符串 String字符串常用方法 StringBuffer StringBuilder String字符串: 1.实例化String对象 直接赋值  String str="Hello";  推荐这种 使用关键字new  String str1=new String("Hello"); 在内存中开辟2个空间 如图: 源代码 StringDemo01.java 2.String内容的比较 String str="Hello"

Java 之字符串(7)

什么是 Java 中的字符串 在程序开发中字符串无处不在,如用户登陆时输入的用户名.密码等使用的就是字符串.其实,在前面的章节中我们就已经使用了字符串, 例如我们在控制台中输出的 "Hello World" . "imooc"等. 在 Java 中,字符串被作为 String 类型的对象处理. String 类位于 java.lang 包中.默认情况下,该包被自动导入所有的程序. 创建 String 对象的方法: Java 中字符串的不变性 String 对象创建后

Java中字符串对象

Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid";,另一种就是使用new这种标准的构造对象的方法,如String str = new String("droid");,这两种方式我们在代码编写时都经常使用,尤其是字面量的方式.然而这两种实现其实存在着一些性能和内存占用的差别.这一切都是源于JVM为了减少字符串对象的重复创建,其维护了一个特殊的内存,这段内存被成为字符串常量池或者字符串字面量池. 工作原理 当代码中出现字

java判断字符串是否为空的方法总结

http://blog.csdn.net/qq799499343/article/details/8492672 以下是java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s)); 方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法: if(s == null || s.length() <= 0); 方法三: Java SE 6.0 才开始提供的方法, 效率和方法二