java如何实现字符串压缩

互联网 20-3-17

使用双指针进行字符串压缩

实例:

public static void zipStr(String str) { 		char[] c = str.toCharArray(); 		int index = 0; 		int num = 1; 		int len = c.length; 		while (index < len - 1) { 			while (c[index] == c[index + 1]) { 				num++; 				index++; 				if (index >= len - 1) { 					break; 				} 			} 			System.out.print(c[index]); 			System.out.print(num); 			num = 1; 			index++; 		} 	}

结果如图:

(推荐教程:java快速入门)

说明:该方法对于形如(aaabbbccc)的字符串进行压缩,压缩结果为a3b3c3,但是对于形如(acaadbbbcceeeffffff)压缩结果则为a1c1a2d1b3c2e3f6,显然这种结果是不合理的,因此接下来运用HashMap进行字符串压缩

使用HashMap进行字符串压缩

实例:

public static HashMap fun1(String str) { 		HashMap<Character, Integer> map = new HashMap<Character, Integer>(); 		char[] c = str.toCharArray(); 		for (int i = 0; i < c.length; i++) { 			Integer count = map.get(c[i]);//此处的count的类型一定要为Integer,如果为int类型,则count值为0 			if (!map.containsKey(c[i])) { 				map.put(c[i], 1); 			} else { 				map.put(c[i], count + 1); 			} 		} 		return map; 	}

相关视频教程推荐:java视频教程

以上就是java如何实现字符串压缩的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 字符串
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:vue2.0非父子组件间怎么进行通讯?

相关资讯