In this short article, we will write a Java program to count duplicate characters in a given String.
We will use Java 8 lambda expression and stream API to write this program.
Learn Java programming at https://www.javaguides.net/p/java-tutorial-learn-java-programming.html.
Learn Java 8 at https://www.javaguides.net/p/java-8.html.
Java 8 - Count Duplicate Characters from a String
package com.java.tutorials.programs;
import java.util.Map;
import java.util.stream.Collectors;
/**
* Java 8 - Count Duplicate Characters from a String
*
* @author RAMESH
*
*/
public class CountDuplicateCharsJava8 {
public static void main(String[] args) {
// given input string
String input = "JavaJavaEE";
// convert string into stream
Map < Character, Long > result = input
.chars().mapToObj(c -> (char) c)
.collect(Collectors.groupingBy(c -> c, Collectors.counting()));
result.forEach((k, v) -> {
if (v > 1) {
System.out.println(k + " : " + v);
}
});
}
}
Output:
a : 4
E : 2
v : 2
J : 2
Let's rewrite the above program without using Java 8 features.
Java program that counts duplicate characters from a given string (without Java 8)
package com.java.tutorials.programs;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class CountDuplicateChars {
public static void main(String[] args) {
// given input string
String input = "JavaJavaEE";
// create a HashMap
Map < Character, Integer > countDuplicateMap = new HashMap < > ();
// Converts this string to a new character array.
char[] charArray = input.toCharArray();
for (char c: charArray) {
if (countDuplicateMap.containsKey(c)) {
// get value by key and increment it's value by a
countDuplicateMap.put(c, countDuplicateMap.get(c) + 1);
} else {
countDuplicateMap.put(c, 1);
}
}
for (Entry < Character, Integer > entry: countDuplicateMap.entrySet()) {
if (entry.getValue() > 1) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
}
}
Output:
a : 4
E : 2
v : 2
J : 2
Related Java programs
- Java Program to Count Number of Duplicate Words in String
- Java Program to Count Number of Words in Given String
- Java Program to Count the Number of Occurrences of Substring in a String
- Java Program to Count the Occurrences of Each Character in String
- Java Program to Merge two String Arrays
- Java Program to Remove Duplicate Words from String
- Java Program to Reverse a String(5 ways)
- Java Program to Reverse Each Word of a String
- Java Program to Swap Two Strings
- How to Check if the String Contains only Digits
- How to Check if the String Contains only Letters
- How to Check If the String Contains Only Letters or Digits
- Java Program to Check if Input String is Palindrome
- Java Program to Find all Permutations of String
- How to Remove or Trim All White Spaces from a String in Java
- How to Remove Leading and Trailing White Space From a String in Java
- Java Program to Count Duplicate Characters in a String
- Remove Character from String in Java (Java 8)
- Java Program to Count Vowels and Consonants in a String (Java 8)
- 4 Ways to Find First Non-Repeated Character in String in Java
- Java Program to Remove Duplicate Elements in an Array
- Java Program to Find Largest Element in an Array
- Java Program to Reverse an Array Without Using Another Array
- Java Program to Check the Equality of Two Arrays
- Java Program to Check Armstrong Number
- Java program to check prime number
- Java Program to Swap Two Numbers
- Java Program to Find Factorial of a Number
- Java Program to Reverse a Number
- Java Program to Swap Two Strings Without Using Third Variable
Free Spring Boot Tutorial | Full In-depth Course | Learn Spring Boot in 10 Hours
Watch this course on YouTube at Spring Boot Tutorial | Fee 10 Hours Full Course
Comments
Post a Comment