Java 把字符列表转换为字符串
给出一个字符的列表。编写一个Java程序,将给定的列表转换为字符串。
Input : list = {‘g’, ‘e’, ‘e’, ‘k’, ‘s’}
Output : “geeks”
Input : list = {‘a’, ‘b’, ‘c’}
Output : “abc”
字符串 – Java中的字符串是由一个char数组内部支持的对象。由于数组是不可变的,而字符串也是一种容纳字符的特殊数组,因此,字符串也是不可变的。
List – Java中的List实现了管理有序集合的能力。它包括基于索引的技术来插入、更新、删除和搜索列表中的元素。它也可以有重复的元素。List接口位于 java.util 包中,继承了 Collection接口 。
方法
在Java中,有许多方法可以将字符列表转换为字符串。这些方法是
- 使用StringBuilder类
- 使用Joiner类的join()方法
- 使用List.toString()、String.substring()和String.replaceAll()方法
- 使用收集器
1.使用StringBuilder类
一个简单的解决方案是遍历列表并在StringBuilder类的帮助下创建一个新的字符串,如下所示。
// Java program for convert character list to string
import java.util.Arrays;
import java.util.List;
// Convert List of Characters to String in Java
class GFG {
public static void main(String[] args)
{
// create character list and initialize
List<Character> str
= Arrays.asList('G', 'e', 'e', 'k', 's');
System.out.println("List - " + str);
// create object of StringBuilder class
StringBuilder sb = new StringBuilder();
// Appends characters one by one
for (Character ch : str) {
sb.append(ch);
}
// convert in string
String string = sb.toString();
// print string
System.out.println("String - " + string);
}
}
输出
List - [G, e, e, k, s]
String - Geeks
2.使用 Joiner 类的 join() 方法
Joiner类可以用来连接指定为数组的文本片段,并将结果作为字符串返回。这个方法也被称为Guava方法。
// Java program for convert character list to string
import com.google.common.base.Joiner;
import java.util.*;
// Convert List of Characters to String in Java
class GFG {
public static void main(String[] args)
{
// create character list and initialize
List<Character> str
= Arrays.asList('G', 'e', 'e', 'k');
System.out.println("List - " + str);
// convert in string
// use join() method
String string = Joiner.on("").join(str);
// print string
System.out.println("String - " + string);
}
}
输出
List - [G, e, e, k]
String - Geek
3.使用List.toString()、String.substring()和String.replaceAll()方法
列表上的toString()方法返回一个被方括号包围的字符串,并且项目之间有逗号。我们的想法是用substring()方法去掉方括号,用replaceAll()方法替换逗号和空格。
下面给出了上述方法的实现–。
// Java program for convert character list to string
import java.util.*;
// Convert List of Characters to String in Java
class GFG {
public static void main(String[] args)
{
// create character list and initialize
List<Character> str
= Arrays.asList('G', 'e', 'e', 'k');
System.out.println("List - " + str);
// convert in string
// remove [] and spaces
String string = str.toString()
.substring(1, 3 * str.size() - 1)
.replaceAll(", ", "");
// print string
System.out.println("String - " + string);
}
}
输出
List - [G, e, e, k]
String - Geek
4.在Java中使用采集器
在java 8中,我们可以利用收集器的流API。
实现上述方法:
// Java program for convert character list to string
import java.util.*;
import java.util.stream.Collectors;
// Convert List of Characters to String in Java
class GFG {
public static void main(String[] args)
{
// create character list and initialize
List<Character> str
= Arrays.asList('G', 'e', 'e', 'k');
System.out.println("List - " + str);
// convert in string
// using collect and joining() method
String string = str.stream()
.map(String::valueOf)
.collect(Collectors.joining());
// print string
System.out.println("String - " + string);
}
}
输出
List - [G, e, e, k]
String - Geek