加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

分析C#、JavaScript和Java的集合数据处理

发布时间:2021-06-05 13:34:46 所属栏目:教程 来源:互联网
导读:C# 的荟萃数据基类是 CollectionT,它实现了 ICollectionT接口,而 ICollectionT 又从 IEnumerableT 接口担任现实上要接头的内容都基于 IEnumerableT 接口。其它

C# 的荟萃数据基类是 Collection<T>,它实现了 ICollection<T>接口,而 ICollection<T> 又从 IEnumerable<T> 接口担任——现实上要接头的内容都基于 IEnumerable<T> 接口。其它尚有一个非泛型的 IEnumerable 接口,不外提议各人只管行使泛型,以是这个非泛型的接口就当我没说。趁便提一句,数组也是实现了 IEnumerable<T> 接口的。System.Linq 中提供的扩展大大利便了荟萃处理赏罚进程。

JavaScript 最常见的荟萃数据范例就是数组,自 ES6 宣布往后,这个范畴扩展到了 iterable 工具。不外这里要接头的内容都是在Array.prototype 中实现的。除此之外,underscore、lodash 这些第三方库中也实现了许多荟萃数据处理赏罚的要领,但不在本文接头内容之内。

Java 的荟萃范例由 Collection<E> 接口界说。本文接头的内容是 Java 8 的特征,在 java.util.stream 包中实现,由Collection<E>.stream() 引入。

示例说话版本

后头示例中的部门 C# 语句也许必要支持 6.0 说话版本的编译器,如 Visual Studio 2015 可能 Visual Studio "15"

JavaScript 代码都行使了 ES6 语法,今朝大部门赏识器支持,Node 5 也完全支持。

Java 要求 Java 8(或 1.8)版本

遍历

题目提出

给定一个名称列表,数组范例, ["Andy", "Jackson", "Yoo"],要求遍历出到的节制台。

C# 的遍历

对付荟萃来说,最常用的就是遍历,不外 for,foreach, while 之类各人都耳熟能详了,不再多说。这里说的是 forEach() 要领。

很遗憾,C# 的 Linq 扩展 里没有提供 ForEach() 要领,不外 All(IEnumerable<T>, Func<T, Boolean>) 和 Any(IEnumerable<T>, Func<T, Boolean>) 都可以取代。这两个要领的区别就在于第二个参数 Func<T, Boolean> 的返回值。这两个要领城市遍历荟萃,对荟萃中的每个元素依次挪用第二个参数,Func<T, Boolean> 所指的委托要领,并搜查其返回值,All() 搜查到 false 中止遍历,而Any() 搜查到 true 中止遍历。

All() 的意思是,全部元素都切合前提则返回 true,全部只要有一个不切合前提,返回了 false,则中止遍历,返回false;Any() 的意思是只要发明有元素切合前提则返回 true。

Func<T, Boolean> 是一个公用委托。Func<...> 系列公用委托都用于委托带有返回值的的要领,全部 Func<..., TResult>都是***一个参数 TResult 代表返回值范例。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读