Heim > Java > JavaErste Schritte > So implementieren Sie die String-Komprimierung in Java

So implementieren Sie die String-Komprimierung in Java

王林
Freigeben: 2020-03-17 17:37:47
nach vorne
4135 Leute haben es durchsucht

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++;
		}
	}
Nach dem Login kopieren

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;
	}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage