一、集合轉字符串拼接
1、集合轉字符串是我們在開發中非常常見的操作。其中,最簡單的方式是利用循環和字符串拼接的方式將集合中的元素拼接成一個字符串:
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
String result = "";
for(String str: list){
result += str;
}
System.out.println(result); //輸出結果:ABC
2、使用StringBuilder代替字符串拼接能夠有效提升性能:
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
StringBuilder sb = new StringBuilder();
for(String str: list){
sb.append(str);
}
System.out.println(sb.toString()); //輸出結果:ABC
3、使用Java 8的Stream API可以更簡潔地實現集合轉字符串的拼接:
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
String result = list.stream().collect(Collectors.joining());
System.out.println(result); //輸出結果:ABC
二、集合轉字符串數組
1、除了將集合中的元素拼接成一個字符串,我們還可以將集合轉換為字符串數組:
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
String[] arr = list.toArray(new String[list.size()]);
System.out.println(Arrays.toString(arr)); //輸出結果:[A, B, C]
2、使用Java 8的Stream API可以更簡潔地實現集合轉字符串數組:
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
String[] arr = list.stream().toArray(String[]::new);
System.out.println(Arrays.toString(arr)); //輸出結果:[A, B, C]
三、集合轉字符串方法
1、Java中提供了一些現成的方法來將集合轉換為字符串,如:
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
String result = StringUtils.join(list, ",");
System.out.println(result); //輸出結果:A,B,C
2、如果需求中需要指定集合元素的格式,則可以使用String.format()方法:
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
String result = list.stream().map(i -> String.format("編號:%d", i)).collect(Collectors.joining(";"));
System.out.println(result); //輸出結果:編號:1;編號:2;編號:3
四、集合轉為字符串
1、將集合轉為字符串的方式有多種,我們可以使用Arrays.toString()方法:
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
String result = Arrays.toString(list.toArray());
System.out.println(result); //輸出結果:[A, B, C]
2、我們還可以使用JSON庫將集合轉換為常見的JSON字符串格式:
List<User> userList = new ArrayList<>();
userList.add(new User("Tom", 18));
userList.add(new User("Jerry", 20));
String result = new Gson().toJson(userList);
System.out.println(result); //輸出結果:[{"name":"Tom","age":18},{"name":"Jerry","age":20}]
五、集合轉json字符串
1、如果我們需要將集合轉換為JSON格式的字符串,可以使用JSON庫中提供的方法:
List<User> userList = new ArrayList<>();
userList.add(new User("Tom", 18));
userList.add(new User("Jerry", 20));
String result = JSONObject.toJSONString(userList);
System.out.println(result); //輸出結果:[{"age":18,"name":"Tom"},{"age":20,"name":"Jerry"}]
2、使用Jackson庫也可以將集合轉換為JSON格式字符串:
List<User> userList = new ArrayList<>();
userList.add(new User("Tom", 18));
userList.add(new User("Jerry", 20));
ObjectMapper mapper = new ObjectMapper();
String result = mapper.writeValueAsString(userList);
System.out.println(result); //輸出結果:[{"name":"Tom","age":18},{"name":"Jerry","age":20}]
六、string集合轉字符串
1、string集合轉字符串最簡單的方式是使用String.join()方法:
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
String result = String.join("", list);
System.out.println(result); //輸出結果:ABC
2、我們也可以使用StringUtils.join()方法轉換:
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
String result = StringUtils.join(list.toArray(), "");
System.out.println(result); //輸出結果:ABC
七、字符串集合轉字符串
1、字符串集合轉字符串可以使用String.join()方法實現:
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
String result = String.join("", list);
System.out.println(result); //輸出結果:ABC
2、我們也可以使用StringUtils.join()方法:
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
String result = StringUtils.join(list.toArray(), "");
System.out.println(result); //輸出結果:ABC
八、集合內容轉字符串
1、如果集合內容是自定義對象,我們可以重寫對象的toString()方法實現:
public class User{
private String name;
private int age;
@Override
public String toString(){
return "姓名:" + name + ",年齡:" + age;
}
}
List<User> userList = new ArrayList<>();
userList.add(new User("Tom", 18));
userList.add(new User("Jerry", 20));
String result = StringUtils.join(userList.toArray(), "\n");
System.out.println(result);
//輸出結果:
//姓名:Tom,年齡:18
//姓名:Jerry,年齡:20
2、我們也可以使用Java 8的Stream API對集合內容進行拼接:
List<User> userList = new ArrayList<>();
userList.add(new User("Tom", 18));
userList.add(new User("Jerry", 20));
StringBuilder sb = new StringBuilder();
userList.stream().forEach(user -> sb.append(user.getName()).append(" "));
System.out.println(sb.toString()); //輸出結果:Tom Jerry
九、list集合轉json字符串
1、除了使用JSON庫,我們還可以使用Java 8的Stream API將list集合轉為JSON字符串:
List<User> userList = new ArrayList<>();
userList.add(new User("Tom", 18));
userList.add(new User("Jerry", 20));
String result = "["
+ userList.stream().map(user -> "{\"name\":\"" + user.getName() + "\",\"age\":" + user.getAge() + "}")
.collect(Collectors.joining(","))
+ "]";
System.out.println(result); //輸出結果:[{"name":"Tom","age":18},{"name":"Jerry","age":20}]
2、使用Gson庫將list集合轉為JSON字符串:
List<User> userList = new ArrayList<>();
userList.add(new User("Tom", 18));
userList.add(new User("Jerry", 20));
String result = new Gson().toJson(userList);
System.out.println(result); //輸出結果:[{"name":"Tom","age":18},{"name":"Jerry","age":20}]
原創文章,作者:LNXG,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/144038.html
微信掃一掃
支付寶掃一掃