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

  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. 程序设计 之 C#实现《拼图游戏》 (下) 原理篇

    前言:在 http://www.cnblogs.com/labixiaohei/p/6698887.html 程序设计 之 C#实现<拼图游戏>(上),上传了各模块代码,而在本文中将详细剖 ...

  2. JQuery分页插件封装(源码来自百度,自己封装)

    最近由于项目的需要,做了一个基于JQuery的表格分页插件封装,部分源码来源百度,经由自己封装完成. 下面是具体代码和说明,仅供参考.第一步可以先将我的HTML,CSS,JS这三部分的代码创建好后先运 ...

  3. 光场相机重聚焦之三——Matlab光场工具包使用、重聚焦及多视角效果展示

    这一小节说一下Matlab光场工具包的使用,展示重聚焦和多视角的效果. 从Lytro illum中导出的raw数据为.lfp格式的光场图像文件(约52M大小),该文件包含以下几部分:光场图像数据raw ...

  4. JAVA压缩图片 服务器端压缩图片 原创

    @RequestMapping(value = "/uploadImage", method = RequestMethod.POST) @ResponseBody public ...

  5. CF Manthan, Codefest 16 G. Yash And Trees 线段树+bitset

    题目链接:http://codeforces.com/problemset/problem/633/G 大意是一棵树两种操作,第一种是某一节点子树所有值+v,第二种问子树中节点模m出现了多少种m以内的 ...

  6. js解析器(重要!)

    JavaScript有"预解析"的特性,理解预解析是很重要的,不然在实际开发中可能会遇到很多无法解析的问题,甚至导致程序bug的存在. #js预解析执行过程: 预解析:(全局作用域 ...

  7. 设计模式之“Observer”注疏#01

    原文首发于我的微信公众号:GeekArtT. Observer设计模式是为了解决"信息同步更新"的问题而存在的.它试图解决这样一个问题:如果有"一堆对象"都跟随 ...

  8. 【算法系列学习】Dijkstra算法变形 [kuangbin带你飞]专题四 最短路练习

    https://vjudge.net/contest/66569#problem/B 类试题:noip2013 货物运输 POJ 1797 Heavy Transportation 方法一:Dijks ...

  9. c# 内存的具体表现- 通用类型系统 深拷贝 浅拷贝 函数传参

    c# 通用类型系统 及变量在 深拷贝 浅拷贝 函数传参 中的深层次的表现 在编程中遇到了一些想不到的异常,跟踪发现,自己对于c#变量在内存上的表现理解有偏差,系统的学习并通过代码实验梳理了各种情况下, ...

  10. c# post basic 接口

    string url = "http://xxxxxxxxx";//地址,请反复检查地址的准确性 string usernamePassword = "username: ...