StringJoiner

// 遍历Map并输出(基础版)
for (Map.Entry<String, List<String>> entry : hm.entrySet()) {
    String key = entry.getKey();
    List<String> value = entry.getValue();
    System.out.println(key + "=" + value); // 直接输出列表默认格式
}

// 结合StringJoiner拼接(进阶版)
for (Map.Entry<String, List<String>> entry : hm.entrySet()) {
    String key = entry.getKey();
    List<String> cities = entry.getValue();
    StringJoiner sj = new StringJoiner("|", "{", "}"); // 分隔符、前缀、后缀
    for (String city : cities) {
        sj.add(city);
    }
    System.out.println(key + "=" + sj); 
}
=== 基础版:直接输出列表默认格式 ===
广东省=[广州, 深圳, 珠海]
江苏省=[南京, 苏州, 无锡]

=== 进阶版:使用StringJoiner自定义格式 ===
广东省={广州|深圳|珠海}
江苏省={南京|苏州|无锡}

        StringJoiner 是 Java 8 引入的一个用于拼接字符串的工具类,位于 java.util 包下。它可以更方便地将多个字符串按照指定的分隔符拼接在一起,并且还可以添加前缀和后缀。

基本用法

创建 StringJoiner 对象

可以通过以下两种方式创建 StringJoiner 对象:

        只指定分隔符:

StringJoiner joiner = new StringJoiner(",");

        指定分隔符、前缀和后缀:

StringJoiner joiner = new StringJoiner(",", "[", "]");

这里的 "," 是分隔符,"[" 是前缀,"]" 是后缀。

添加元素

使用 add 方法向 StringJoiner 中添加元素:

joiner.add("Apple").add("Banana").add("Orange");
获取拼接结果

使用 toString 方法获取最终拼接的字符串:

String result = joiner.toString();

示例代码

import java.util.StringJoiner;
public class StringJoinerExample {
    public static void main(String[] args) {
        // 创建一个带有分隔符、前缀和后缀的 StringJoiner
        StringJoiner joiner = new StringJoiner(",", "[", "]");
        // 添加元素
        joiner.add("Apple").add("Banana").add("Orange");
        // 获取拼接结果
        String result = joiner.toString();
        System.out.println(result);
    }
}

输出结果为:

[Apple,Banana,Orange]

常用方法

  1. add(CharSequence newElement):添加一个元素到 StringJoiner 中。
  2. merge(StringJoiner other):将另一个 StringJoiner 的内容合并到当前 StringJoiner 中。
  3. setEmptyValue(CharSequence emptyValue):设置当 StringJoiner 为空时返回的字符串。
  4. length():返回拼接后字符串的长度。

示例代码(包含常用方法)

import java.util.StringJoiner;
public class StringJoinerMethodsExample {
    public static void main(String[] args) {
        StringJoiner joiner1 = new StringJoiner(",");
        joiner1.add("A").add("B");
        StringJoiner joiner2 = new StringJoiner("-");
        joiner2.add("1").add("2");
        // 合并两个 StringJoiner
        joiner1.merge(joiner2);
        System.out.println(joiner1.toString());
        // 设置空值
        StringJoiner emptyJoiner = new StringJoiner(",");
        emptyJoiner.setEmptyValue("Empty");
        System.out.println(emptyJoiner.toString());
        // 获取长度
        System.out.println(joiner1.length());
    }
}

输出结果为:

A,B,1-2
Empty
7

与 StringBuilder 的比较

        虽然 StringBuilder 也可以用于字符串拼接,但 StringJoiner 在处理带有分隔符的拼接时更加简洁和直观。例如,如果要拼接一个字符串列表,使用 StringJoiner 可以避免手动处理分隔符的位置问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值