ホームページ  >  記事  >  Java  >  Javaで文字列圧縮を実装する方法

Javaで文字列圧縮を実装する方法

王林
王林転載
2020-03-17 17:37:474086ブラウズ

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++;
		}
	}

結果は図に示すとおりです:

Javaで文字列圧縮を実装する方法

(推奨チュートリアル: 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ビデオチュートリアル

以上がJavaで文字列圧縮を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。