旗下导航:搜·么
当前位置:网站首页 > JAVA教程 > 正文

java如何实现字符串压缩_JAVA教程,java,字符串

作者:搜教程发布时间:2020-03-18分类:JAVA教程浏览:44评论:0


导读:java生成随机数的三种方法_JAVA教程java生成随机数的三种方法如下:1、通过Math.random()方法实现;2、通过System.currentTimeMillis()...

java生成随机数的三种方法_JAVA教程

java生成随机数的三种方法如下:1、通过Math.random()方法实现;2、通过System.currentTimeMillis()方法获取毫秒数实现;3、通过Random类实现。

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

实例:

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快速入门)

java持久层面试题目(一)_JAVA教程

java面试题有:什么是ORM?Hibernate中SessionFactory是线程安全的吗?阐述Session加载实体对象的过程;MyBatis中使用#和$书写占位符有什么区别?。

说明:该方法对于形如(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如何实现字符串压缩的详细内容,更多请关注ki4网其它相关文章!

详解java中private关键字的使用方法_JAVA教程

本文来自java快速入门栏目,文中为大家介绍了private关键字的使用方法,具有一定的参考价值,希望对大家有所帮助。private关键字不能分配给外部类和接口使用。

标签:java字符串


欢迎 发表评论: