Java 8 Streams | collectors . joing()方法示例
原文:https://www . geesforgeks . org/Java-8-streams-collectors-join-method-with-examples/
在 Java 中,Collectors 类的 joining() 方法用于将字符或字符串数组的各种元素连接到单个字符串对象中。此方法使用流来完成此操作。收集器类中存在各种各样的联接方法重载。
等级等级:
java.lang.Object
↳ java.util.stream.Collectors
加入()
Java . util . stream . collectors . joining()是最简单的不取任何参数的 joining 方法。它返回一个收集器,该收集器按照出现的顺序将输入流连接或串连成字符串。
语法:
public static Collector<CharSequence, ?, String> joining()
下面是如何使用 join()方法的图示:
程序 1: 使用带有字符数组的 join():
在下面的程序中,在“ch”中创建了一个字符数组。然后使用()的流将该数组转换为流。然后,使用 map()将结果流映射为连续序列。最后,使用 Collectors.joining()方法将包含字符数组的序列流连接成一个字符串。它存储在“chString”变量中。
// Java Program to demonstrate the working
// of the Collectors.joining() method
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class GFG {
public static void main(String[] args)
{
// Create a character array
char[] ch = { 'G', 'e', 'e', 'k', 's',
'f', 'o', 'r',
'G', 'e', 'e', 'k', 's' };
// Convert the character array into String
// using Collectors.joining() method
String chString = Stream.of(ch)
.map(arr -> new String(arr))
.collect(Collectors.joining());
// Print the concatenated String
System.out.println(chString);
}
}
输出:
GeeksforGeeks
程序 2: 使用带有字符列表的 join():
在下面的程序中,在“ch”中创建了一个字符列表。然后使用 ch.stream()方法将该列表转换为 Stream。然后,使用 map()将结果流映射为连续序列。最后,使用 Collectors.joining()方法将包含字符列表的序列流连接成一个字符串。它存储在“chString”变量中。
// Java Program to demonstrate the working
// of the Collectors.joining() method
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.Arrays;
import java.util.List;
public class GFG {
public static void main(String[] args)
{
// Create a character list
List<Character> ch = Arrays.asList('G', 'e', 'e', 'k', 's',
'f', 'o', 'r',
'G', 'e', 'e', 'k', 's');
// Convert the character list into String
// using Collectors.joining() method
String chString = ch.stream()
.map(String::valueOf)
.collect(Collectors.joining());
// Print the concatenated String
System.out.println(chString);
}
}
输出:
GeeksforGeeks
程序 3: 使用连接()和 n 个字符串列表:
在下面的程序中,在“字符串”中创建了一个字符串列表。然后使用 str.stream()方法将该列表转换为 Stream。然后,使用 map()将结果流映射为连续序列。最后,使用 Collectors.joining()方法将包含字符列表的序列流连接成一个字符串。它存储在“chString”变量中。
// Java Program to demonstrate the working
// of the Collectors.joining() method
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.Arrays;
import java.util.List;
public class GFG {
public static void main(String[] args)
{
// Create a character list
List<String> str = Arrays.asList("Geeks", "for", "Geeks");
// Convert the character list into String
// using Collectors.joining() method
String chString = str.stream()
.map(String::valueOf)
.collect(Collectors.joining());
// Print the concatenated String
System.out.println(chString);
}
}
输出:
GeeksforGeeks
连接(分隔符)
Java . util . stream . collectors . join(CharSequence delimiter)是 join()方法的重载,该方法以分隔符为参数,类型为 CharSequence。分隔符是一种符号或字符序列,用于分隔单词。例如,在每个句子中,空格“”被默认用作其中单词的分隔符。它返回一个 Collector,该 Collector 按照出现的顺序将输入元素连接或串连成 String,并用分隔符隔开。
语法:
public static Collector<CharSequence, ?, String> joining(CharSequence delimiter)
下面是如何使用联接(分隔符)方法的图示:
程序 1: 使用带有字符列表的连接(分隔符):
在下面的程序中,在“ch”中创建了一个字符列表。然后使用 ch.stream()方法将该列表转换为 Stream。然后,使用 map()将结果流映射为连续序列。最后,使用 Collectors.joining()方法将包含字符列表的顺序流连接成一个字符串,并以“”作为分隔符传递。它存储在“chString”变量中。
// Java Program to demonstrate the working
// of the Collectors.joining() method
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.Arrays;
import java.util.List;
public class GFG {
public static void main(String[] args)
{
// Create a character list
List<Character> ch = Arrays.asList('G', 'e', 'e', 'k', 's',
'f', 'o', 'r',
'G', 'e', 'e', 'k', 's');
// Convert the character list into String
// using Collectors.joining() method
// with, as the delimiter
String chString = ch.stream()
.map(String::valueOf)
.collect(Collectors.joining(", "));
// Print the concatenated String
System.out.println(chString);
}
}
输出:
G, e, e, k, s, f, o, r, G, e, e, k, s
程序 2: 使用字符串列表的连接(分隔符):
在下面的程序中,在“字符串”中创建了一个字符串列表。然后使用 str.stream()方法将该列表转换为 Stream。然后,使用 map()将结果流映射为连续序列。最后,使用 Collectors.joining()方法将包含字符列表的顺序流连接成一个字符串,并以“”作为分隔符传递。它存储在“chString”变量中。
// Java Program to demonstrate the working
// of the Collectors.joining() method
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.Arrays;
import java.util.List;
public class GFG {
public static void main(String[] args)
{
// Create a character list
List<String> str = Arrays.asList("Geeks", "for", "Geeks");
// Convert the character list into String
// using Collectors.joining() method
String chString = str.stream()
.map(String::valueOf)
.collect(Collectors.joining(", "));
// Print the concatenated String
System.out.println(chString);
}
}
输出:
Geeks, for, Geeks
连接(分隔符、前缀、后缀)
Java . util . stream . collectors . join(CharSequence 分隔符、CharSequence 前缀、CharSequence 后缀)是 char sequence 类型的 join()方法的重载,该方法以分隔符、前缀和后缀为参数。
分隔符是一种符号或字符序列,用于分隔单词。前缀是连接在字符串第一个元素开始处的符号或字符序列。那么后缀也是一个 CharSequence 参数,但是它被连接在字符串的最后一个元素之后。即在最后。
例如,在每个{Geeks,For,Geeks}中,空格“”被用作其中单词的默认分隔符。“{ 0 }”是前缀,“}”是后缀。它返回一个 Collector,该 Collector 按照出现的顺序将输入元素连接或串连成 String,并用分隔符隔开。
语法:
public static Collector<CharSequence, ?, String> joining(CharSequence delimiter.
CharSequence prefix,
CharSequence suffix))
下面是如何使用连接(分隔符、前缀、后缀)方法的图示:
程序 1: 使用带有字符列表的联接():
在下面的程序中,在“ch”中创建了一个字符列表。然后使用 ch.stream()方法将该列表转换为 Stream。然后,使用 map()将结果流映射为连续序列。最后,使用 Collectors.joining()方法将包含字符列表的序列流连接成一个字符串,以“,”作为分隔符,以“[”作为前缀,以“]”作为后缀。它存储在“chString”变量中。
// Java Program to demonstrate the working
// of the Collectors.joining() method
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.Arrays;
import java.util.List;
public class GFG {
public static void main(String[] args)
{
// Create a character list
List<Character> ch = Arrays.asList('G', 'e', 'e', 'k', 's',
'f', 'o', 'r',
'G', 'e', 'e', 'k', 's');
// Convert the character list into String
// using Collectors.joining() method
// with, as the delimiter
String chString = ch.stream()
.map(String::valueOf)
.collect(Collectors.joining(", ", "[", "]"));
// Print the concatenated String
System.out.println(chString);
}
}
输出:
[G, e, e, k, s, f, o, r, G, e, e, k, s]
程序 2: 使用连接()和字符串列表:
在下面的程序中,在“字符串”中创建了一个字符串列表。然后使用 str.stream()方法将该列表转换为 Stream。然后,使用 map()将结果流映射为连续序列。最后,使用 Collectors.joining()方法将包含字符列表的序列流连接成一个字符串,以“,”作为分隔符,以“{”作为前缀,以“}”作为后缀。它存储在“chString”变量中。
// Java Program to demonstrate the working
// of the Collectors.joining() method
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.Arrays;
import java.util.List;
public class GFG {
public static void main(String[] args)
{
// Create a character list
List<String> str = Arrays.asList("Geeks", "for", "Geeks");
// Convert the character list into String
// using Collectors.joining() method
String chString = str.stream()
.map(String::valueOf)
.collect(Collectors.joining(", ", "{", "}"));
// Print the concatenated String
System.out.println(chString);
}
}
输出:
{Geeks, for, Geeks}
版权属于:月萌API www.moonapi.com,转载请注明出处