/**
* 第一种方式:
* 实现思路:将字符串通过getBytes方法转换为byte数组,或者通过toCharArray()转换为char数组
* 然后先调用Arrays的sort方法进行排序,再调用Arrays的equels方法判断是否相等;
*
* @param str1
* @param str2
* @return
*/
public static boolean equels(String str1, String str2) {
byte[] sa1 = str1.getBytes();
byte[] sa2 = str2.getBytes();
Arrays.sort(sa1);
Arrays.sort(sa2);
return Arrays.equals(sa1, sa2);
} /**
* 第二种方式:
* 实现思路:将其中一个字符串放到一个StringBuffer中,然后遍历另一个String;
* 判断另一个String的每个字符在StringBuffer中是否存在,如果有的话,删除StringBuffer中对应的第一个字符;
* 遍历结束后,查看StringBuffer的长度是否为0;
*
* @param str1
* @param str2
* @return
*/
public static boolean stringSame(String str1, String str2) {
// 先判断长度
if (str1.length() != str2.length()) {
return false;
} // 把str2放到一个StringBuffer,
StringBuffer str2Buffer = new StringBuffer();
str2Buffer.append(str2); // 循环字符串1的字符,查看字符串2是否有相同字符,有的话删除
for (int i = 0; i < str1.length(); i++) {
char temp = str1.charAt(i);
int index = str2Buffer.toString().indexOf(temp);
if (index != -1) {
str2Buffer.deleteCharAt(index);
} else {
return false;
}
} // 删除结束,确认长度为0则相等
if (str2Buffer.toString().length() == 0) {
return true;
} return false;
} public static void main(String[] args) {
System.out.println(equels("aa23b235", "23ab235a"));
System.out.println(stringSame("aa23b2我35", "23ab235a我"));
}

(2) 假设字符串类似这样的aba和aab就相等,现在随便给你二组字符串,请编程比较他们看是否相等的更多相关文章

  1. 假设字符串类似这样的aba和aab,abc和bca就相等,现在随便给你二组字符串,请编程比较他们看是否相等

    public static boolean stringSame(String str1,String str2){ if(str1.length() != str2.length()){//先判断长 ...

  2. java练习题:现给出二组字符串,比较他们看是否相等

    import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import jav ...

  3. C#:比较二个字符串,查找出相同字数和差异字符

            ;; i < n; i++)             {                 ) == s2.Substring(i, ))                 /*同位 ...

  4. 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。

    [提交][状态][讨论版] 题目描述 有一字符串,包含n个字符.写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串. 输入 数字n 一行字符串 数字m 输出 从m开始的子串 样例输入 ...

  5. 字符串混淆技术在.NET程序保护中的应用及如何解密被混淆的字符串

    Visual Studio提供的Dotfuscator保护程序,可以对用户代码中包含的字符串进行加密.比如下面的例子,为了找到这个程序的注册算法,用.NET Reflector加载程序集后,发现代码中 ...

  6. JavaScript学习笔记(二)——字符串

    在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...

  7. Shell从入门到精通进阶之二:Shell字符串处理之${}

    上一章节讲解了为什么用${}引用变量,${}还有一个重要的功能,就是文本处理,单行文本基本上可以满足你所有需求. 2.1 获取字符串长度 # VAR='hello world!' # echo $VA ...

  8. python学习笔记(二)、字符串操作

    该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于 ...

  9. 信1705-2 软工作业最大重复词查询思路: (1)将文章(一个字符串存储)按空格进行拆分(split)后,存储到一个字符串(单词)数组中。 (2)定义一个Map,key是字符串类型,保存单词;value是数字类型,保存该单词出现的次数。 (3)遍历(1)中得到的字符串数组,对于每一个单词,考察Map的key中是否出现过该单词,如果没出现过,map中增加一个元素,key为该单词,value为1(

    通过学习学会了文本的访问,了解一点哈希表用途.经过网上查找做成了下面查询文章重复词的JAVA程序. 1 思 思路: (1)将文章(一个字符串存储)按空格进行拆分(split)后,存储到一个字符串(单词 ...

随机推荐

  1. Linux+eclipse+gdb调试postgresql源码

    pg内核源码解析课上用的vs调试pg源码, VS用起来确实方便,但是配置调试环境着实有点麻烦.首先得装个windows系统,最好是xp,win7稍微麻烦点:最好使用vs05,08和10也可以,但是比0 ...

  2. ASP.NET MVC4.0 部署

    EntifyFramework 5.0.0 安装 http://www.nuget.org/packages/EntityFramework/5.0.0 1. 文章,部署前的配置 http://www ...

  3. OSI七层以及各层上的协议

    各层简介: [1]物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达目的地后在转化为1.0, ...

  4. iOS8及以后 地图定位当前城市

    通过以下网址的步骤实现定位获取城市的功能 http://www.2cto.com/kf/201504/393312.html

  5. .NET2.0下的对象生成JSON数据

    前言:今天研究了下在.NET2.0环境下开发Ajax程序经常用到的一个数据类型JSON, 一.什么是JSON? 自己也写不了句子不是很专业,下面是百度百科的关于JSON的介绍: JSON(JavaSc ...

  6. C#位移运算符

    代码如下: /// <summary> /// 位移运算符"<<"左位移运算符,">>"右位移运算符 /// 在进行位移运算 ...

  7. C# Dictionary 应用

    1.字典定义并添加数据 Dictionary<string, string> dic = new Dictionary<string, string>(); dic.Add(& ...

  8. C# Socket传输大文件

    1.基础类TransferFiles,client和server都需要 using System; using System.Collections.Generic; using System.Tex ...

  9. Fiddler使用笔记

    http://www.cnblogs.com/TankXiao/archive/2012/02/06/2337728.html#basic   1.filter的使用,跟踪某个网站的访问,例如:hr. ...

  10. SqlCommand.Parameters.add()方法

    SqlParameter 类 表示 SqlCommand 的参数,也可以是它到 DataSet 列的映射.无法继承此类. 命名空间:  System.Data.SqlClient 程序集:  Syst ...