Heim  >  Artikel  >  Java  >  So implementieren Sie die String-Komprimierung in Java

So implementieren Sie die String-Komprimierung in Java

王林
王林nach vorne
2020-03-17 17:37:474038Durchsuche

So implementieren Sie die String-Komprimierung in Java

Verwenden Sie Doppelzeiger für die String-Komprimierung

Beispiel:

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

Das Ergebnis ist wie folgt:

So implementieren Sie die String-Komprimierung in Java

(Empfohlenes Tutorial: Java Quick Start )

Beschreibung: Diese Methode komprimiert eine Zeichenfolge in der Form (aaabbbccc), und das Komprimierungsergebnis ist a3b3c3, aber für das Komprimierungsergebnis des Formulars (acaadbbbcceeeffffff) ist das Ergebnis a1c1a2d1b3c2e3f6 Offensichtlich ist dieses Ergebnis unvernünftig, also verwenden Sie als nächstes HashMap für die String-Komprimierung

Verwenden Sie HashMap für die String-Komprimierung

Beispiel:

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

Das Ergebnis ist wie in der Abbildung dargestellt:

So implementieren Sie die String-Komprimierung in Java

Empfehlung für ein entsprechendes Video-Tutorial: Java-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die String-Komprimierung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen