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:
(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:
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!