Convert a String to a List of Characters in Java
Given a String, the task is to convert it into a List of Characters in Java.
Examples:
Input: String = "Beginner" Output: [G, e, e, k, s] Input: String = "w3wiki" Output: [G, e, e, k, s, F, o, r, G, e, e, k, s]
Below are the various ways to do so:
- Naive Method
Approach:
- Get the String.
- Create an empty List of Characters.
- Add each character of String to the List.
- Return the List.
Below is the implementation of the above approach:
// Java program to illustrate
// Converting a String to a List
// of Characters
import
java.util.*;
// Java program to convert
// a String to a List of Characters
class
GFG {
// Function to convert String
// to List of Characters
public
static
List<Character>
convertStringToCharList(String str)
{
// Create an empty List of character
List<Character> chars =
new
ArrayList<>();
// For each character in the String
// add it to the List
for
(
char
ch : str.toCharArray()) {
chars.add(ch);
}
// return the List
return
chars;
}
// Driver code
public
static
void
main(String[] args)
{
// Get the String to be converted
String str =
"Geek"
;
// Get the List of Character
List<Character>
chars = convertStringToCharList(str);
// Print the list of characters
System.out.println(chars);
}
}
Output:[G, e, e, k]
- Using Java 8 Stream:
Approach:
- Get the String.
- Create a List of Characters.
- Convert to String to IntStream using chars() method.
- Convert IntStream to Stream
using mapToObj() method. - Collect the elements as a List Of Characters using collect()
- Return the List.
Below is the implementation of the above approach:
// Java program to illustrate
// Converting a String to a List
// of Characters
import
java.util.*;
import
java.util.stream.Collectors;
// Java program to convert
// a String to a List of Characters
class
GFG {
// Function to convert String
// to List of Characters
public
static
List<Character>
convertStringToCharList(String str)
{
// Create an empty List of character
List<Character> chars = str
// Convert to String to IntStream
.chars()
// Convert IntStream to Stream<Character>
.mapToObj(e -> (
char
)e)
// Collect the elements as a List Of Characters
.collect(Collectors.toList());
// return the List
return
chars;
}
// Driver code
public
static
void
main(String[] args)
{
// Get the String to be converted
String str =
"Geek"
;
// Get the List of Character
List<Character>
chars = convertStringToCharList(str);
// Print the list of characters
System.out.println(chars);
}
}
Output:[G, e, e, k]
- Using Java 8 Stream:
Approach:
- Get the String.
- Use the AbstractList interface to convert the String into List of Character
- Return the List.
Below is the implementation of the above approach:
import
java.util.*;
// Java program to convert
// a String to a List of Characters
class
GFG {
// Function to convert String
// to List of Characters
public
static
List<Character>
convertStringToCharList(String str)
{
return
new
AbstractList<Character>() {
@Override
public
Character get(
int
index)
{
return
str.charAt(index);
}
@Override
public
int
size()
{
return
str.length();
}
};
}
// Driver code
public
static
void
main(String[] args)
{
// Get the String to be converted
String str =
"Geek"
;
// Get the List of Character
List<Character>
chars = convertStringToCharList(str);
// Print the list of characters
System.out.println(chars);
}
}
Output:[G, e, e, k]
Contact Us