亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Java 判斷兩個字符串是否由相同的字符組成的實例

2024-07-14 08:41:43
字體:
來源:轉載
供稿:網友

問題:由相同的字符組成是指兩個字符串,字母以及各個字母的個數是相同的,只是順序不同。如:“aaaabbc”與“abcbaaa”是由相同字符組成。

方法一:排序法,也是最容易想到的方法,將兩個字符串轉換為字節數組,分別排序后,判斷是否相同即可。

方法二:集合法(空間換時間),利用Map集合key的唯一性,遍歷第一個字符串,將字符作為key,字符出現的次數作為value,若遇到重復字符則將value+1。之后遍歷第二個字符串,遇到字符就將對應的value-1,若value值為1時,就將該字符remove掉。最后判斷map是否為空,為空則說明兩字符串相同。

方法三:數組法(空間換時間):由于ASCII字符共266個,,申請一個字節數組byte[256],初始化為0,然后遍歷第一個字符串,將對應的ASCII下標+1,然后遍歷第二個字符串,將對應標-1。若最后數組中各個元素的值都是0,則說明字符串相等,反之不等。

先給出方法二,方法三源碼:

package CharString; import java.util.HashMap;import java.util.Map; public class CompareString { 	public static boolean compare(char[] a,char[] b){		int aLen = a.length;		int bLen = b.length;		if(aLen!=bLen){			return false;		}		Map<Character,Integer> map = new HashMap<Character,Integer>();		for(int i=0;i<aLen;i++){			if(map.containsKey(a[i])){				map.put(a[i], map.get(a[i])+1);			}else{				map.put(a[i], 1);			}		}		for(int j=0;j<bLen;j++){			if(map.containsKey(a[j])&&map.get(a[j])==1){				map.remove(a[j]);			}else{				map.put(a[j], map.get(a[j])-1);			}		}		return map.isEmpty();			}		public static boolean compare2(String a,String b){		byte[] b1 = a.getBytes();		byte[] b2 = b.getBytes();		int[] bCount = new int[256];		for(int i=0;i<256;i++){			bCount[i] = 0;		}		for(int i=0;i<b1.length;i++)			bCount[b1[i]-'0']++;		for(int i=0;i<b2.length;i++)			bCount[b2[i]-'0']--;		for(int i=0;i<256;i++){			if(bCount[i]!=0)				return false;		}		return true;	}		public static void main(String[] args) {		// TODO Auto-generated method stub 		StringBuffer s11 = new StringBuffer();		StringBuffer s22 = new StringBuffer();		for(int i=0;i<10000;i++){			s11.append("aybcybayaatt");		}		for(int i=0;i<10000;i++){			s22.append("aybcybayaatt");		}		String s1 = s11.toString();		String s2 = s22.toString();		char[] a = s1.toCharArray();		char[] b = s2.toCharArray();				long l3=System.currentTimeMillis();		System.out.println(compare(a,b));		long l4=System.currentTimeMillis();		System.out.println("集合用時:"+(l4-l3));				long l1=System.currentTimeMillis();		System.out.println(compare2(s1,s2));		long l2=System.currentTimeMillis();		System.out.println("數組用時:"+(l2-l1));	} }

為了測試,兩個方法的運行時間,構造較大的字符串,運行結果:

true集合用時:54毫秒true數組用時:17毫秒

由此可見,數組法的運行效率更高,若在對空間沒要求的情況下,推薦使用第三種方法。

以上這篇Java 判斷兩個字符串是否由相同的字符組成的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91成品人片a无限观看| 久久夜精品va视频免费观看| 成人在线视频福利| 亚洲一区久久久| 欧美性猛交xxxxx水多| 精品欧美aⅴ在线网站| 亚洲欧美一区二区激情| 91日韩在线视频| 久久精品2019中文字幕| 亚洲国产精品久久久| 欧美一级片在线播放| 中文字幕一区二区精品| 欧美激情欧美狂野欧美精品| 国产精品久久久久久婷婷天堂| 国产经典一区二区| 免费不卡欧美自拍视频| 亚洲最大福利网站| 久久久久久久av| 亚洲美女性生活视频| 欧美一级淫片播放口| 中文字幕亚洲第一| 亚洲欧洲一区二区三区在线观看| 国产欧美日韩免费| 国产精品精品久久久| 热久久免费国产视频| 97国产suv精品一区二区62| 久久久久久久久久久91| 色偷偷888欧美精品久久久| 久久人91精品久久久久久不卡| 中文字幕欧美日韩va免费视频| 精品国产一区二区三区久久久狼| 成人精品aaaa网站| 亚洲日韩欧美视频| 国产婷婷成人久久av免费高清| 日本中文字幕成人| 亚洲一区二区三区777| 精品久久久久久久久久久久久| 欧美高清无遮挡| 国产精品激情av电影在线观看| 久久福利视频网| 92国产精品久久久久首页| 国产亚洲欧洲黄色| 亚洲精品视频网上网址在线观看| 欧美激情乱人伦| 亚洲第一网站男人都懂| 992tv成人免费视频| 国产亚洲精品久久久久久牛牛| 国产激情视频一区| 日韩av在线网页| 色无极影院亚洲| 久久资源免费视频| 国产精品偷伦免费视频观看的| 亚洲欧洲午夜一线一品| 国产精品综合网站| 日韩国产精品视频| 亚洲欧美一区二区激情| 在线看国产精品| 亚洲电影成人av99爱色| 亚洲一区二区三区毛片| 美女性感视频久久久| 欧美日韩成人免费| 26uuu另类亚洲欧美日本一| 日韩69视频在线观看| 日韩有码在线视频| 国产欧美精品久久久| 久久久噜噜噜久噜久久| 一区二区三区国产视频| 国产精品美女无圣光视频| www.国产精品一二区| 日本午夜精品理论片a级appf发布| 狠狠久久五月精品中文字幕| 一区二区三区动漫| 久久视频免费观看| 成人a视频在线观看| 亚洲精品国产综合区久久久久久久| 欧美高清电影在线看| 欧美性猛交xxxx乱大交| 中文字幕综合一区| 色在人av网站天堂精品| 日韩va亚洲va欧洲va国产| 国产精品美腿一区在线看| 91禁外国网站| 久久久久久av| 国产成人免费91av在线| 亚洲第一网站男人都懂| 欧美精品激情blacked18| 欧美激情一二区| 精品亚洲aⅴ在线观看| 欧美自拍大量在线观看| 久久久久久久久久久亚洲| 日韩高清电影免费观看完整| 一区二区欧美久久| 日韩av一区在线观看| 亚洲第一中文字幕在线观看| 亚洲精品成人久久久| 色综合影院在线| 亚洲国产99精品国自产| 黄色91在线观看| 亚洲影视九九影院在线观看| 成人中文字幕在线观看| 亚洲视屏在线播放| 日韩美女av在线| 久久精品久久精品亚洲人| 欧美日韩中文在线观看| 亚洲成人xxx| 欧美成人h版在线观看| 亚洲精品wwwww| 欧美一级淫片aaaaaaa视频| 日本精品久久久| 欧美在线精品免播放器视频| 亚洲女人天堂色在线7777| 成人性生交大片免费看小说| 亚洲国产精品字幕| 欧美国产精品人人做人人爱| 亚洲欧美日韩成人| 午夜精品一区二区三区视频免费看| 国模gogo一区二区大胆私拍| 久久偷看各类女兵18女厕嘘嘘| 国产成人高潮免费观看精品| 国产午夜精品免费一区二区三区| 日本免费一区二区三区视频观看| 亚洲最大中文字幕| 色偷偷噜噜噜亚洲男人| 日本精品视频在线观看| 久久人人爽人人爽人人片亚洲| 亚洲精品不卡在线| 国产亚洲人成a一在线v站| 日本午夜人人精品| 欧美精品免费在线观看| 亚洲色图综合网| 97国产精品视频人人做人人爱| 精品视频在线播放色网色视频| 92看片淫黄大片看国产片| 一区二区欧美激情| 国产精品视频xxx| 国产亚洲精品日韩| 精品无人区太爽高潮在线播放| 久久久久成人网| 日本午夜在线亚洲.国产| 亚洲第一福利视频| 日韩免费观看在线观看| 日韩av电影在线免费播放| 日韩中文字幕网址| 久久久人成影片一区二区三区观看| 久久国产加勒比精品无码| 欧美成人国产va精品日本一级| 九九九久久久久久| 国产一区二区三区高清在线观看| 国产精品一区二区电影| 欧美成人午夜激情视频| 色999日韩欧美国产| 亚洲精品成人久久电影| 欧美激情第99页| 日韩影视在线观看| 尤物九九久久国产精品的分类| 国产精品pans私拍| 欧美电影免费观看电视剧大全| 国产精品高潮粉嫩av| 中文字幕国产亚洲2019| 中文字幕av一区| 91po在线观看91精品国产性色| 91在线免费看网站| 国产在线日韩在线| 亚洲美女免费精品视频在线观看|