Преобразование строки в список символов в Java
Опубликовано: 4 Февраля, 2022
Для данной строки задача состоит в том, чтобы преобразовать ее в список символов в Java.
Примеры:
Ввод: String = "Компьютерщики" Вывод: [G, e, e, k, s] Ввод: String = "GeeksForGeeks" Вывод: [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]
Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.