AddThis

Friday 24 January 2020

How to count frequency / occurrences of characters in java

import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Test {

public static void main(String[] args) {
                //characters occurrences
String s = "aasjjikkk";
Map<Character, Integer> frequencies = s.chars().boxed().collect(Collectors.toMap(
// key = char
k -> Character.valueOf((char) k.intValue()), v -> 1, // 1 occurence
Integer::sum)); // counting
System.out.println("Frequencies: " + frequencies);

Map<Character, Long> characterFrequency = s.chars() // creates an IntStream
.mapToObj(c -> (char) c) // converts the IntStream to Stream<Character>
.collect(Collectors.groupingBy(c -> c, Collectors.counting()));
System.out.println("Frequencies: " + characterFrequency);

                //words occurrences
Stream<String> strArr = Stream.of("aa", "bb", "cc", "aa");
Map<String, Long> collect = strArr.collect(Collectors.groupingBy(str -> str, Collectors.counting()));
System.out.println("Frequencies: " + collect);

String[] name = { "ajeet", "ajeet", "kumar", "dubey" };
Map<String, Integer> fres = Stream.of(name).collect(Collectors.toMap(k -> k, v -> 1, Integer::sum));
System.out.println("Frequencies: " + fres);

}
}

No comments:

Post a Comment

100 AWS Services in Just One Line Each

  100 AWS Services in Just One Line Each Amazon EC2:  Virtual servers in the cloud. Amazon S3:  Scalable object storage service. Amazon RDS:...