集合中的字符串拼接优化

一、常规拼接

	List<String> personList = Arrays.asList("刘备","张飞","关羽");
	//定义存储的信息
	String msg = "";
	for(String person : personList){
	    msg += person + ",";
	}
	//去掉最后一个逗号
	msg = msg.substring(0,msg.length()-1);
	System.out.println(msg);

结果:

刘备,张飞,关羽

二、使用hutool工具类拼接

import cn.hutool.core.util.StrUtil;

	List<String> personList = Arrays.asList("刘备","张飞","关羽");
	String msg = StrUtil.join(",",personList);
	System.out.println(msg);

结果:

刘备,张飞,关羽

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
常见的多模式串匹配算法有以下几种: 1. 暴力匹配算法 暴力匹配算法就是对于每个模式串,都对文本串进行一次匹配,时间复杂度为 O(n*m),其 n 是文本串长度,m 是模式串的平均长度。 2. Trie树 Trie树是一种多叉树,用于存储字符串集合。它的每个节点代表一个字符串的前缀,从根节点到叶子节点的路径表示一个完整的字符串。在查找时,将文本串的每个前缀与Trie树进行匹配,如果匹配成功就说明找到了一个模式串。Trie树的时间复杂度为 O(n*m),其 n 是文本串长度,m 是模式串的平均长度。 3. AC自动机 AC自动机是在Trie树的基础上进行了优化,它可以在O(n+m)的时间复杂度内匹配多个模式串。AC自动机的基本思想是将Trie树的每个节点设置一个失败指针,指向该节点的最长后缀节点。在匹配时,如果当前节点没有匹配到字符,就跳转到该节点的失败指针指向的节点,直到匹配成功或者到达根节点为止。 4. KMP算法 KMP算法是单模式串匹配的经典算法,但也可以扩展到多模式串匹配。具体做法是将所有模式串拼接成一个字符串,然后对该字符串进行KMP匹配。在匹配时,如果找到了一个模式串,就返回该模式串在拼接字符串的起始位置。时间复杂度为O(n+m),其 n 是文本串长度,m 是所有模式串的总长度。 以上是常见的多模式串匹配算法,选择合适的算法取决于实际需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值