Maison  >  Article  >  Java  >  Comment implémenter la compression de chaînes en Java

Comment implémenter la compression de chaînes en Java

王林
王林avant
2020-03-17 17:37:474038parcourir

Comment implémenter la compression de chaînes en Java

Utiliser des pointeurs doubles pour la compression de chaînes

Exemple :

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

Le résultat est tel qu'indiqué dans la figure :

Comment implémenter la compression de chaînes en Java

(Tutoriel recommandé : Java Quick Start )

Description : Cette méthode compresse une chaîne de la forme (aaabbbccc), et la compression Le résultat est a3b3c3, Mais pour le résultat de la compression du formulaire (acaadbbbcceeeffffff), le résultat est a1c1a2d1b3c2e3f6. Évidemment, ce résultat est déraisonnable, alors utilisez ensuite HashMap pour la compression de chaîne

Utilisez HashMap pour la compression de chaîne <.>

Exemple :

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

Le résultat est tel qu'indiqué dans la figure :


Comment implémenter la compression de chaînes en Java

Recommandation du didacticiel vidéo associé :

Tutoriel vidéo Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer