• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#与java中的集合区别

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

集合一般的操作

      插入: add

      删除: remove

      查找: contains,remove

 

java中的集合

注意哪些是接口,哪些是实现类

 

使用集合的时候

  1. 有无序,可否重复 

    –Set:无序、不可重复的集合
    –List:有序,可重复的集合
      --双向链表(LinkedList):对get和set调用花费常数时间,对插入和删除代价昂贵
      --动态数组(ArrayList): 对插入和删除开销小,对get花费昂贵(不容易做索引,但是可以通过索引访问)
    –Map:具有映射关系的集合
                   
                     插入一个元素:
                                 add(0,ob)   表头插入,LinkedList时间是O(1),ArrayList时间是O(N)
                                 add(ob)        表尾插入,LinkedList时间是O(1),ArrayList时间是O(1)
                     获取一个元素:
                                 get(i)           LinkedList时间是O(N)
                                                       ArrayList时间是O(1)      
                     搜索一个元素:
                                 两者都很低效。
                                 Contains的contains和remove两个方法都需要花费线性时间。   
           
                  ArrayList中有一个容量的概念。表示基础数组,可扩展。 trimToSize方法可以在所有ArrayList添加完成之后使用避免浪费空间;
 

"Collection”和“Collections”是两个不同的概念。,”Collection”是集合层次的顶层接口,而”Collections”是提供了操作集合类型的静态方法的类。

 当我们操作集合的时候,如果觉得需要什么方法,都可以到Collections 类中来找
 
C#中的集合
 C#中:
凡是接口都是I开头的,所以List在java中是接口,而在C#中是类。
List类型是可以使用索引的。只不过它在定义的时候是不指定大小的。
所有集合相关类型都必须要实现一个接口,那就是IEnumerable,这也就是为什么不管是数组、还是集合、还是字典,都支持foreach操作的原因。
 所有集合接口的祖宗是IEnumerable,有点同java中的Iterator
 
 
 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
c语言错误代码发布时间:2022-07-14
下一篇:
C#远程调用技术WebService葵花宝典发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap