首页 > 代码库 > Java对字符串进行的操作
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对字符串进行的操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。