zoukankan      html  css  js  c++  java
  • (2) 假设字符串类似这样的aba和aab就相等,现在随便给你二组字符串,请编程比较他们看是否相等

    /**
    	 * 第一种方式:
    	 * 实现思路:将字符串通过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我"));
    	}

  • 相关阅读:
    org.json里实现XML和JSON之间对象互转
    Rhino-- JavaScript
    XStream -- a simple library to serialize objects to XML and back again
    [Groovy]转:Groovy 通过 isCase 方法进行分类
    [Groovy]static typing
    JavaScript Succinctly 读后笔记
    [Groovy] Private fields and methods are not private in groovy
    Android 学习之路和App开发框架
    Android自定义xml解析
    Android 动态生成对话框和EditText
  • 原文地址:https://www.cnblogs.com/xiaozhang2014/p/5297288.html
Copyright © 2011-2022 走看看