JAVA EXAMPLE PROGRAMS

JAVA EXAMPLE PROGRAMS

Publish Your Article Here

Program: Write a program to print all permutations of a given string.


Description:

This page gives an example to print all permutations of a given string. For example, xy would be xy and yx.

Here is the steps to implement string permutations:

  1. Take out the first char and keep it constant. And permute rest of the characters.
  2. User recursive method call to permute rest of the string except first character.
  3. While making recursive call, we accumulate each character being constant along with recursive call response.


Code:
package com.java2novice.algo;

import java.util.ArrayList;
import java.util.List;

public class StringPermutationsEx {

	public static void main(String a[]) {

		List<String> output = StringPermutationsEx.generatePermutations("xyz");
		System.out.println("Result size: "+output.size());
		output.stream().forEach(System.out::println);
		System.out.println("------------------");

		output = StringPermutationsEx.generatePermutations("ABCD");
		System.out.println("Result size: "+output.size());
		output.stream().forEach(System.out::println);
	}

	public static List<String> generatePermutations(String input) {

		List<String> strList = new ArrayList<String>();
		StringPermutationsEx.permutations("", input, strList);

		return strList;
	}

	private static void permutations(String consChars, String input, List<String> opContainer) {

		if(input.isEmpty()) {
			opContainer.add(consChars+input);
			return;
		}

		for(int i=0; i<input.length(); i++) {
			permutations(consChars+input.charAt(i),
							input.substring(0, i)+input.substring(i+1),
							opContainer);
		}
	}
}

Output:
Result size: 6
xyz
xzy
yxz
yzx
zxy
zyx
------------------
Result size: 24
ABCD
ABDC
ACBD
ACDB
ADBC
ADCB
BACD
BADC
BCAD
BCDA
BDAC
BDCA
CABD
CADB
CBAD
CBDA
CDAB
CDBA
DABC
DACB
DBAC
DBCA
DCAB
DCBA
<< Previous Program | Next Program >>

List Of All Interview Programs:

  1. How to reverse Singly Linked List?
  2. Find out duplicate number between 1 to N numbers.
  3. Find out middle index where sum of both ends are equal.
  4. Write a singleton class.
  5. Write a program to create deadlock between two threads.
  6. Write a program to reverse a string using recursive algorithm.
  7. Write a program to reverse a number.
  8. Write a program to convert decimal number to binary format.
  9. Write a program to find perfect number or not.
  10. Write a program to implement ArrayList.
  11. Write a program to find maximum repeated words from a file.
  12. Wrie a program to find out duplicate characters in a string.
  13. Write a program to find top two maximum numbers in a array.
  14. Write a program to sort a map by value.
  15. Write a program to find common elements between two arrays.
  16. How to swap two numbers without using temporary variable?
  17. Write a program to print fibonacci series.
  18. Write a program to find sum of each digit in the given number using recursion.
  19. Write a program to check the given number is a prime number or not?
  20. Write a program to find the given number is Armstrong number or not?
  21. Write a program to convert binary to decimal number.
  22. Write a program to check the given number is binary number or not?
  23. Write a program for Bubble Sort in java.
  24. Write a program for Insertion Sort in java.
  25. Write a program to implement hashcode and equals.
  26. How to get distinct elements from an array by avoiding duplicate elements?
  27. Write a program to get distinct word list from the given file.
  28. Write a program to get a line with max word count from the given file.
  29. Write a program to convert string to number without using Integer.parseInt() method.
  30. Write a program to find two lines with max characters in descending order.
  31. Write a program to find the sum of the first 1000 prime numbers.
  32. Find longest substring without repeating characters.
  33. Write a program to remove duplicates from sorted array.
  34. How to sort a Stack using a temporary Stack?
  35. Write a program to print all permutations of a given string.
  36. Implement Binary Search Tree (BST)
  37. Find min and max value from Binary Search Tree (BST)
  38. Find height of a Binary Search Tree (BST)
  39. Implement Binary Search Tree (BST) Level order traversal (breadth first).
  40. Implement Binary Search Tree (BST) pre-order traversal (depth first).
  41. Implement Binary Search Tree (BST) in-order traversal (depth first).
  42. Implement Binary Search Tree (BST) post-order traversal (depth first).
  43. How to check the given Binary Tree is Binary Search Tree (BST) or not?
  44. How to delete a node from Binary Search Tree (BST)?
Knowledge Centre
wait Vs sleep methods
sleep(): It is a static method on Thread class. It makes the current thread into the "Not Runnable" state for specified amount of time. During this time, the thread keeps the lock (monitors) it has acquired.

wait(): It is a method on Object class. It makes the current thread into the "Not Runnable" state. Wait is called on a object, not a thread. Before calling wait() method, the object should be synchronized, means the object should be inside synchronized block. The call to wait() releases the acquired lock.
Famous Quotations
Education is what remains after one has forgotten what one has learned in school.
-- Albert Einstein

About Author

I'm Nataraja Gootooru, programmer by profession and passionate about technologies. All examples given here are as simple as possible to help beginners. The source code is compiled and tested in my dev environment.

If you come across any mistakes or bugs, please email me to [email protected].

Most Visited Pages

Other Interesting Sites

Reference: Java™ Platform Standard Ed. 7 - API Specification | Java™ Platform Standard Ed. 8 - API Specification | Java is registered trademark of Oracle.
Privacy Policy | Copyright © 2018 by Nataraja Gootooru. All Rights Reserved.