string 스트링 압축에 대한 이중 포인터 사용
예 :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++; } }결과는 다음과 같습니다. 형식(aaabbbcccc)의 경우 압축 결과는 a3b3c3이지만 형식(acaadbbcceeeffffff)의 문자열에 대한 압축 결과는 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에서 문자열 압축을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!