>  기사  >  Java  >  Java에서 문자열 압축을 구현하는 방법

Java에서 문자열 압축을 구현하는 방법

王林
王林앞으로
2020-03-17 17:37:474100검색

string 스트링 압축에 대한 이중 포인터 사용

Java에서 문자열 압축을 구현하는 방법

예 :

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++;
		}
	}
결과는 다음과 같습니다. 형식(aaabbbcccc)의 경우 압축 결과는 a3b3c3이지만 형식(acaadbbcceeeffffff)의 문자열에 대한 압축 결과는 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 비디오 튜토리얼

위 내용은 Java에서 문자열 압축을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제