📜  在Java中将字符列表转换为字符串

📅  最后修改于: 2022-05-13 01:55:00.839000             🧑  作者: Mango

在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
// 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 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);
    }
}


Java
// 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 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);
    }
}


Java
// 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 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);
    }
}


Java
// 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 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, s]
String - Geeks

2.使用Joiner类的join()方法

Joiner 类可用于将片段连接到指定为数组的文本,并将结果作为字符串返回。这种方法也称为番石榴法。

Java

// 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 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

// 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 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

// 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 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