深夜测评:讯飞星火大模型vs FuncGPT (慧函数),到底哪家强?

简介: 作为一名程序员,我们可能在多种情况下需要找出两个List中的重复元素。以下是一些常见的应用场景:

作为一名程序员,我们可能在多种情况下需要找出两个List中的重复元素。以下是一些常见的应用场景:

数据清理:如果你有两个来自不同源的列表,可能含有重复数据,找出这些重复元素可以帮助你清理数据,提高数据的准确性和质量。

数据合并:当你需要将两个列表合并成一个时,找出并处理重复元素是必要的,否则可能导致数据重复。

数据查重:在某些情况下,你可能需要查找两个List中的重复元素以检测数据的质量或查找可能存在的问题。

分析和可视化:有时,找出两个List中的重复元素是为了进行进一步的数据分析和可视化。例如,你可以使用这些重复元素来创建更复杂的图表或进行更深入的统计分析。

权限管理:在处理用户或实体(如部门、角色等)的列表时,可能会需要查找和管理重复的实体。例如,你可能需要找出两个列表中的重复用户或部门,以进行进一步的权限管理。

开发人员在接到需求后,往往第一时间是上网搜索相关代码,一个个查看,可能面临没注释、解决方案太冗长、架构太复杂等情况;就算在网上找到了合适的代码,还需要根据实际的需求,进行修改,这一套流程下来起码 2 个小时就没了。

而使用 FuncGPT (慧函数) ,只需在界面输入以下具体的需求及参数要求,点击生成代码,20 秒就可以生成拿来即用的代码了。
// 类名:ListUtils
// 函数名:findDuplicateElements
// 函数功能:找出两个List中的重复元素
// POM依赖包:无
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class ListUtils {
/**

 * 找出两个List中的重复元素
 * @param list1 第一个List
 * @param list2 第二个List
 * @return 重复的元素集合
 */
public static <T> List<T> findDuplicateElements(List<T> list1, List<T> list2) {
    Set<T> set1 = new HashSet<>(list1); // 将List1转换为Set,去除重复元素
    Set<T> duplicateSet = new HashSet<>();

    for (T element : list2) { // 遍历List2的元素
        if (set1.contains(element)) { // 如果Set1中包含List2的元素
            duplicateSet.add(element); // 将重复的元素添加到重复元素的Set中
        }
    }

    return new ArrayList<>(duplicateSet); // 将重复元素的Set转换回List并返回
}

}

// 函数示例
// 找出两个List中的重复元素示例
// 入参:list1,第一个List
// list2,第二个List
// 出参:duplicates,重复的元素集合
// 调用示例:
// List list1 = Arrays.asList(1, 2, 3, 4, 5);
// List list2 = Arrays.asList(4, 5, 6, 7, 8);
// List duplicates = ListUtils.findDuplicateElements(list1, list2);
// System.out.println(duplicates);
// 输出结果:例如,第一个List为:[1, 2, 3, 4, 5],第二个List为:[4, 5, 6, 7, 8]
// 则输出结果为:[4, 5]

```
// 温馨提示:以上代码由 FuncGPT 生成,编译打包请使用 ListUtils.java 文件。

我们都知道,做任何东西不能光听一家之言,下面来看看讯飞的星火大模型是怎么实现这一功能的:
在Java中,可以使用HashSet来找出两个List中的重复元素。以下是一个示例:
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;

public class FindDuplicates {
public static void main(String[] args) {
List list1 = new ArrayList<>();
List list2 = new ArrayList<>();

    list1.add(1);
    list1.add(2);
    list1.add(3);
    list1.add(4);

    list2.add(3);
    list2.add(4);
    list2.add(5);
    list2.add(6);

    HashSet<Integer> set = new HashSet<>(list1);
    set.retainAll(list2);

    System.out.println("重复的元素是: " + set);
}

}
那么,以上这两段代码哪段更好呢?
文心一言是这么说的:
注:代码1为FuncGPT(慧函数)所生成,代码2为科大讯飞星火大模型所生成。
“两段代码的目的都是找出两个列表中的重复元素。相比之下,代码1的优势表现在以下几个方面:
类型安全:代码1使用了泛型 ,这样可以处理任何类型的列表,而不仅仅是整数。代码2中的示例使用了整数,限制了其应用的广泛性。
处理空列表:代码1考虑了列表可能为空的情形,而代码2在处理空列表时可能会引发异常。
封装良好:代码1将功能封装在一个类中,并提供了清晰的API文档。这样做可以使代码更易于理解和使用。而代码2将所有逻辑都放在main方法中,不够清晰。
可读性强:代码1使用了明确的变量名和方法名,使其可读性更强。而代码2中的变量名和方法名并不清晰。
效率更高:虽然两段代码的基本思路是一样的,但是代码1使用了Set集合来存储list1的元素,这样可以利用O(1)时间复杂度的查找操作来提高效率。而代码2使用的是ArrayList,查找元素的效率是O(n)。
返回类型明确:代码1返回的是List类型,明确地表示了返回的是元素的集合。而代码2的输出是HashSet,没有明确指出返回的是元素的集合。
总的来说,代码1的设计更为合理,封装性好,可读性强,并且考虑了各种边界情况,还对效率进行了优化。”

可以说,以 FuncGPT(慧函数)作为AI 辅助编程工具,改变了传统靠搜索引擎写代码的方式,极大地提高开发者的编程效率,其生成的函数、方法等更具体,注释清晰,质量靠谱,助力开发人员效率和质量双提升。
FuncGPT(慧函数)免费使用链接:https://a.d4t.cn/ftrAMf

相关文章
|
28天前
|
前端开发 算法 测试技术
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
本文对比测试了通义千文、文心一言、智谱和讯飞等多个国产大模型在处理基础计数问题上的表现,特别是通过链式推理(COT)提示的效果。结果显示,GPTo1-mini、文心一言3.5和讯飞4.0Ultra在首轮测试中表现优秀,而其他模型在COT提示后也能显著提升正确率,唯有讯飞4.0-Lite表现不佳。测试强调了COT在提升模型逻辑推理能力中的重要性,并指出免费版本中智谱GLM较为可靠。
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
|
13天前
|
存储 弹性计算 自然语言处理
基础大模型 vs 应用大模型
基础大模型(如GPT-3、BERT等)通过大量通用数据训练,具备强大的泛化能力。应用大模型则在此基础上进行微调,针对特定任务优化。两者均将知识编码在参数中,而非直接存储原始数据,实现“自然留存”。阿里云提供多种大模型和服务,欢迎体验。
|
4月前
|
人工智能 自然语言处理 语音技术
通用大模型VS垂直大模型
【7月更文挑战第16天】通用大模型VS垂直大模型
|
5月前
|
C++ 异构计算
《百炼成金-大金融模型新篇章》––05.问题3:“大模型vs越来越大的模型”,模型sIzE的军备竞赛
百炼必定成金,新质生产力会催生新质劳动力,谨以此文抛砖引玉,希望与业内的各位朋友一同探讨如何积极拥抱并运用大模型技术,以应对和驾驭不断变化的市场环境,实现科技金融持续稳定的提质增效和创新发展,携手开启金融大模型未来新篇章。
|
5月前
|
数据采集 运维 安全
《百炼成金-大金融模型新篇章》––08.问题6:“大模型广泛应用vs应用安全隐患”,大模型面临的安全挑战
百炼必定成金,新质生产力会催生新质劳动力,谨以此文抛砖引玉,希望与业内的各位朋友一同探讨如何积极拥抱并运用大模型技术,以应对和驾驭不断变化的市场环境,实现科技金融持续稳定的提质增效和创新发展,携手开启金融大模型未来新篇章。
|
5月前
|
人工智能 运维 搜索推荐
《百炼成金-大金融模型新篇章》––07.问题5:“杀手级通用大模型vs百花齐放专属大模型”,企业级AI应用的价值自证?
百炼必定成金,新质生产力会催生新质劳动力,谨以此文抛砖引玉,希望与业内的各位朋友一同探讨如何积极拥抱并运用大模型技术,以应对和驾驭不断变化的市场环境,实现科技金融持续稳定的提质增效和创新发展,携手开启金融大模型未来新篇章。
117 1
|
4月前
|
自然语言处理 C++
通用大模型VS垂直大模型对比
通用大模型VS垂直大模型对比
|
6月前
|
SQL 自然语言处理 算法
NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(Spider vs BIRD)全面对比优劣分析[Text2SQL、Text2DSL]
NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(Spider vs BIRD)全面对比优劣分析[Text2SQL、Text2DSL]
NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(Spider vs BIRD)全面对比优劣分析[Text2SQL、Text2DSL]
|
28天前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
119 2
|
12天前
|
人工智能 JSON API
阿里云文档智能 & RAG解决方案:提升AI大模型业务理解与应用
阿里云推出的文档智能 & RAG解决方案,旨在通过先进的文档解析技术和检索增强生成(RAG)方法,显著提升人工智能大模型在业务场景中的应用效果。该方案通过文档智能(Document Mind)技术将非结构化文档内容转换为结构化数据,提取文档的层级树、样式和版面信息,并输出为Markdown和Json格式,为RAG提供语义分块策略。这一过程不仅解决了文档内容解析错误和切块丢失语义信息的问题,还优化了输出LLM友好的Markdown信息。方案的优势在于其多格式支持能力,能够处理包括Office文档、PDF、Html、图片在内的主流文件类型,返回文档的样式、版面信息和层级树结构。
63 2