在 Java 中将数组列表转换为逗号分隔的字符串
原文:https://www . geesforgeks . org/convert-ArrayList-to-逗号分隔字符串-in-java/
数组列表是 集合框架 的一部分,存在于 java.util 包中。它为我们提供了 Java 中的动态数组。为了将数组列表转换为逗号分隔的字符串,下面列出了 Java 中可用的方法,建议如下:
在 Java 8 之前,只有标准方法可用于这种转换,但是随着 Streams 和 Lambda 概念的引入,新的方法开始出现,下面列出了所有这些方法:
- 使用 StringBuilder 的 append()方法
- 使用 toString()方法
- 使用 Apache Commons StringUtils 类
- 使用流应用编程接口
- 使用字符串类的字符串连接()方法
让我们讨论上面提出的每一种方法,以便更深入地了解程序,如下所示:
方法 1:使用 StringBuilder 的 append()方法
java 中的 StringBuilder 代表一个可变的字符序列。在下面的例子中,我们使用了 StringBuilder 的 append() 方法。append 方法用于在现有字符串的最后一个位置连接或添加一组新字符。
语法:
public StringBuilder append(*char a*)
参数:该方法接受单个参数 a ,这是字符串表示将被追加的字符值。
返回值:该方法在执行追加操作后返回一个字符串对象。
示例:
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to Convert ArrayList to
// Comma Separated String
// Using append() method of StringBuilder
// Importing required classes
import java.util.ArrayList;
// Main class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating an empty ArrayList of string type
ArrayList<String> geeklist
= new ArrayList<String>();
// Adding elements to ArrayList
// using add() method
geeklist.add("Hey");
geeklist.add("Geek");
geeklist.add("Welcome");
geeklist.add("to");
geeklist.add("geeksforgeeks");
geeklist.add("!");
StringBuilder str = new StringBuilder("");
// Traversing the ArrayList
for (String eachstring : geeklist) {
// Each element in ArrayList is appended
// followed by comma
str.append(eachstring).append(",");
}
// StringBuffer to String conversion
String commaseparatedlist = str.toString();
// Condition check to remove the last comma
if (commaseparatedlist.length() > 0)
commaseparatedlist
= commaseparatedlist.substring(
0, commaseparatedlist.length() - 1);
// Printing the comma separated string
System.out.println(commaseparatedlist);
}
}
Output
Hey,Geek,Welcome,to,geeksforgeeks,!
方法 2:使用 toString()方法
toString() 是一个内置方法,它以字符串格式返回给它的值。下面的代码使用 toString()方法将数组列表转换为字符串。方法返回应用替换方法的单个字符串,并替换指定的字符(在本例中是括号和空格)。
语法:
arraylist.toString()
// arraylist is an object of the ArrayList class
返回值:返回数组列表的字符串表示形式
示例:
Java 语言(一种计算机语言,尤用于创建网站)
// Java Program to Convert ArrayList to
// Comma Separated String
// Using toString() method
// Importing required classes
import java.util.ArrayList;
// Main class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating an empty ArrayList of string type
ArrayList<String> geekcourses
= new ArrayList<String>();
// Adding elements to above empty ArrayList
// using add() method
geekcourses.add("Data Structures");
geekcourses.add("Algorithms");
geekcourses.add("Operating System");
geekcourses.add("Computer Networks");
geekcourses.add("Machine Learning");
geekcourses.add("Databases");
// Note: toString() method returns the output as
// [Data Structure,Algorithms,...]
// In order to replace '[', ']' and spaces with
// empty strings to get comma separated values
String commaseparatedlist = geekcourses.toString();
commaseparatedlist
= commaseparatedlist.replace("[", "")
.replace("]", "")
.replace(" ", "");
// Printing the comma separated string
System.out.println(commaseparatedlist);
}
}
Output
DataStructures,Algorithms,OperatingSystem,ComputerNetworks,MachineLearning,Databases
方法 3: 使用 Apache Commons StringUtils 类
Apache Commons 库有一个 StringUtils 类,它为字符串提供了一个实用函数。join 方法用于将数组列表转换为逗号分隔的字符串。
示例:
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to Convert ArrayList to
// Comma Separated String
// Using Apache Commons StringUtils class
// Importing required classes
import java.util.ArrayList;
import org.apache.commons.collections4.CollectionUtils;
// Main class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating an empty ArrayList of string type
ArrayList<String> geekcourses
= new ArrayList<String>();
// Adding elements to ArrayList
// using add() method
geekcourses.add("Data Structures");
geekcourses.add("Algorithms");
geekcourses.add("Operating System");
geekcourses.add("Computer Networks");
geekcourses.add("Machine Learning");
geekcourses.add("Databases");
// Mote: join() method used returns a single string
// along with defined separator in every iteration
String commalist
= StringUtils.join(geekcourses, ",");
// Printing the comma separated string
System.out.println(commalist);
}
}
输出:
OutputDataStructures,Algorithms,OperatingSystem,ComputerNetworks,MachineLearning,Databases
方法 4:使用流应用编程接口
Stream API 是在 Java 8 中引入的,用于处理对象的集合。在 Java 中, Collectors 类的 joining() 方法用于将字符或字符串数组的各种元素连接到单个字符串对象中。
例
Java 语言(一种计算机语言,尤用于创建网站)
// Java Program to Convert ArrayList to
// Comma Separated String
// Using Stream API
// Importing required classes
import java.util.*;
import java.util.stream.Collectors;
// Main class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating an empty ArrayList of string type
ArrayList<String> geeklist
= new ArrayList<String>();
// Adding elements to above ArrayList
// using add() method
geeklist.add("welcome");
geeklist.add("to");
geeklist.add("geeks");
geeklist.add("for");
geeklist.add("geeks");
// collect() method returns the result of the
// intermediate operations performed on the stream
String str = geeklist.stream().collect(
Collectors.joining(","));
// Printing the comma separated string
System.out.println(str);
}
}
Output
welcome,to,geeks,for,geeks
方法 5:使用字符串类的 join()方法
我们可以使用 StringJoiner 将 ArrayList 转换为逗号分隔的字符串,这是 java.util 包中的一个类,用于构造由分隔符分隔的字符(字符串)序列,可选地以提供的前缀开始,以提供的后缀结束。String 类的 join() 方法可以用来构造相同的。
例
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to Convert ArrayList to
// Comma Separated String
// Using String join() method
// Importing required classes
import java.util.*;
import java.util.stream.Collectors;
// Main class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Creating an empty ArrayList of string type
ArrayList<String> geeklist
= new ArrayList<String>();
// Adding elements to ArrayList
// using add() method
geeklist.add("welcome");
geeklist.add("to");
geeklist.add("geeks");
geeklist.add("for");
geeklist.add("geeks");
// Note: String.join() is used with a delimiter
// comma along with the list
String str = String.join(",", geeklist);
// Printing the comma separated string
System.out.println(str);
}
}
Output
welcome,to,geeks,for,geeks
版权属于:月萌API www.moonapi.com,转载请注明出处