---Advertisement---

Java String Interview Question and Answers (Level-3)

By Manisha

Published On:

---Advertisement---

1. How do you check if two strings are anagrams in Java without using built-in sort methods?

Explanation:
Anagrams are words formed by rearranging the letters of another word. To solve without sorting, we use a frequency array to track character counts.

Code:

java

public class AnagramChecker {

    public static boolean areAnagrams(String str1, String str2) {

        if (str1.length() != str2.length()) return false;

        int[] count = new int[256];

        for (char c : str1.toCharArray()) count[c]++;

        for (char c : str2.toCharArray()) {

            count[c]–;

            if (count[c] < 0) return false;

        }

        return true;

    }

    public static void main(String[] args) {

        System.out.println(areAnagrams(“listen”, “silent”)); // true

    }

}


2. How do you find the first non-repeating character in a string in Java?

Explanation:
Use a LinkedHashMap to preserve insertion order while counting frequency.

Code:

java

import java.util.*;

public class FirstUniqueChar {

    public static char findFirstUnique(String str) {

        Map<Character, Integer> map = new LinkedHashMap<>();

        for (char c : str.toCharArray())

            map.put(c, map.getOrDefault(c, 0) + 1);

        for (Map.Entry<Character, Integer> entry : map.entrySet())

            if (entry.getValue() == 1) return entry.getKey();

        return ‘\0’;

    }

    public static void main(String[] args) {

        System.out.println(findFirstUnique(“swiss”)); // Output: w

    }

}


3. How do you reverse each word in a string while keeping the word order the same?

Explanation:
Split the sentence, reverse each word, then join.

Code:

java

public class ReverseEachWord {

    public static String reverseWords(String sentence) {

        String[] words = sentence.split(” “);

        StringBuilder result = new StringBuilder();

        for (String word : words) {

            result.append(new StringBuilder(word).reverse()).append(” “);

        }

        return result.toString().trim();

    }

    public static void main(String[] args) {

        System.out.println(reverseWords(“Java is fun”)); // Output: avaJ si nuf

    }

}


4. How do you find duplicate characters in a string in Java?

Explanation:
Use a Set to find characters that appear more than once.

Code:

java

import java.util.*;

public class DuplicateChars {

    public static Set<Character> findDuplicates(String str) {

        Set<Character> seen = new HashSet<>();

        Set<Character> duplicates = new HashSet<>();

        for (char c : str.toCharArray()) {

            if (!seen.add(c)) duplicates.add(c);

        }

        return duplicates;

    }

    public static void main(String[] args) {

        System.out.println(findDuplicates(“programming”)); // Output: [r, g, m]

    }

}


5. How to count character frequency in a string using Java?

Explanation:
Use a HashMap to store character and its count.

Code:

java

import java.util.*;

public class CharFrequency {

    public static Map<Character, Integer> countFrequency(String str) {

        Map<Character, Integer> freqMap = new HashMap<>();

        for (char c : str.toCharArray())

            freqMap.put(c, freqMap.getOrDefault(c, 0) + 1);

        return freqMap;

    }

    public static void main(String[] args) {

        System.out.println(countFrequency(“banana”)); // Output: {b=1, a=3, n=2}

    }

}


6. How do you remove duplicate characters from a string in Java?

Explanation:
Use a LinkedHashSet to preserve order and remove duplicates.

Code:

java

import java.util.*;

public class RemoveDuplicates {

    public static String removeDuplicates(String str) {

        Set<Character> set = new LinkedHashSet<>();

        for (char c : str.toCharArray()) set.add(c);

        StringBuilder result = new StringBuilder();

        for (char c : set) result.append(c);

        return result.toString();

    }

    public static void main(String[] args) {

        System.out.println(removeDuplicates(“programming”)); // Output: progamin

    }

}


7. How do you check if a string is a palindrome in Java?

Explanation:
A string is a palindrome if it reads the same backward. Use two-pointer technique.

Code:

java

public class PalindromeChecker {

    public static boolean isPalindrome(String str) {

        int left = 0, right = str.length() – 1;

        while (left < right) {

            if (str.charAt(left++) != str.charAt(right–)) return false;

        }

        return true;

    }

    public static void main(String[] args) {

        System.out.println(isPalindrome(“madam”)); // true

    }

}


8. How to check if one string is a rotation of another in Java?

Explanation:
A string s2 is a rotation of s1 if it’s a substring of s1 + s1.

Code:

java

public class StringRotation {

    public static boolean isRotation(String s1, String s2) {

        return s1.length() == s2.length() && (s1 + s1).contains(s2);

    }

    public static void main(String[] args) {

        System.out.println(isRotation(“waterbottle”, “erbottlewat”)); // true

    }

}


9. How do you count vowels and consonants in a string?

Explanation:
Use a loop to count vowels and consonants.

Code:

java

public class VowelConsonantCounter {

    public static void countVowelsAndConsonants(String str) {

        int vowels = 0, consonants = 0;

        str = str.toLowerCase();

        for (char c : str.toCharArray()) {

            if (Character.isLetter(c)) {

                if (“aeiou”.indexOf(c) >= 0) vowels++;

                else consonants++;

            }

        }

        System.out.println(“Vowels: ” + vowels);

        System.out.println(“Consonants: ” + consonants);

    }

    public static void main(String[] args) {

        countVowelsAndConsonants(“Hello World”);

    }

}


10. How do you find all permutations of a string in Java?

Explanation:
Use recursion and backtracking to generate permutations.

Code:

java

public class StringPermutations {

    public static void permute(String str, String result) {

        if (str.length() == 0) {

            System.out.println(result);

            return;

        }

        for (int i = 0; i < str.length(); i++) {

            permute(str.substring(0, i) + str.substring(i + 1), result + str.charAt(i));

        }

    }

    public static void main(String[] args) {

        permute(“ABC”, “”);

    }

}

👉The Next 10 Questions-III: JAVA STRING

---Advertisement---

Leave a Comment