Java compressing Strings

前端 未结 20 1066
误落风尘
误落风尘 2020-11-29 09:24

I need to create a method that receives a String and also returns a String.

Ex input: AAABBBBCC

Ex output: 3A4B2C

Well, this is quite embarrassing a

20条回答
  •  伪装坚强ぢ
    2020-11-29 10:12

    private String Comprimir(String input){
            String output="";
            Map map=new HashMap();
            for(int i=0;i entry : map.entrySet()) {
                output+=entry.getValue()+""+entry.getKey().charValue();
            }
            return output;
        }
    

    One other simple way using Multiset of guava-

    import java.util.Arrays;
    
    import com.google.common.collect.HashMultiset;
    import com.google.common.collect.Multiset;
    import com.google.common.collect.Multiset.Entry;
    
    public class WordSpit {
        public static void main(String[] args) {
            String output="";
            Multiset wordsMultiset = HashMultiset.create();
            String[] words="AAABBBBCC".split("");
            wordsMultiset.addAll(Arrays.asList(words));
            for (Entry string : wordsMultiset.entrySet()) {
                if(!string.getElement().isEmpty())
                    output+=string.getCount()+""+string.getElement();
            }
            System.out.println(output);
        }
    }
    

提交回复
热议问题