集合一般的操作

      插入: 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
 
 
 

C#与java中的集合区别的更多相关文章

  1. Java 中的集合接口——List、Set、Map

    Java 中的集合接口——List.Set.Map 什么叫集合:集合就是Java API所提供的一系列类的实例,可以用于动态存放多个对象.这跟我们学过的数组差不多,那为什么我们还要学集合,我们看看数组 ...

  2. 菜鸟日记之 java中的集合框架

    java中的集合框架图 如图所示:java中的集合分为两种Collection和Map两种接口 可分为Collection是单列集合和Map的双列集合 Collection单列集合:继承了Iterat ...

  3. Java中的集合概述

    Java中的集合类有两个重要的分支,分别是接口Collection(包括List,Set等)和接口Map. 由于HashSet的内部实现原理使用了HashMap,所以我们先来了解Map集合类. 1.H ...

  4. JAVA中的集合容器操作类

    目录 JAVA中的集合容器操作类 List集合 ArrayList的操作方法说明 LinkedList Stack Set Map Queue 总结 JAVA中的集合容器操作类 Java容器类库总共分 ...

  5. Java中的集合框架-Collection(二)

    上一篇<Java中的集合框架-Collection(一)>把Java集合框架中的Collection与List及其常用实现类的功能大致记录了一下,本篇接着记录Collection的另一个子 ...

  6. Java中的集合和常用类

    Java中的常用类: ▪ Object类 ▪ Math类 ▪ String类和StringBuffer类(字符串) ▪ 8种基本类型所对应的包装类 ▪ java.util包中的类——Date类 Obj ...

  7. Java中的集合List、ArrayList、Vector、Stack(三)

    List接口 List集合代表一个有序集合,集合中每一个元素都有其对应的顺序索引.List集合容许使用重复元素,可以通过索引来访问指定位置的集合对象. ArrayList和Vector实现类 Arra ...

  8. Java中的集合(十五) Iterator 和 ListIterator、Enumeration

    Java中的集合(十五) Iterator 和 ListIterator.Enumeration 一.Iterator (一).简介 Iterator 是一个接口,它是集合的迭代器.集合可以通过Ite ...

  9. Java中的集合(十一) 实现Map接口的TreeMap

    Java中的集合(十一) 实现Map接口的TreeMap 一.TreeMap简介(基于JDK1.8) TreeMap是基于红黑树数据结构,是一个key-value的有序集合,该映射根据其键的自然顺序进 ...

随机推荐

  1. 微软企业库Microsoft Enterprise Library的相关文章链接

    微软企业库4.1学习笔记 http://blog.csdn.net/anyqu/article/category/1228691/3 黄聪:Enterprise Library 5.0 系列教程 ww ...

  2. SQLSERVER 触发器 将一个服务器上的数据库中数据插入到另一个服务器上的数据库中怎么做

    首先要执行 sp_addlinkedserver '服务器ip' 然后开始写语句 insert into ip.库名字.dbo.table select * from iserted

  3. oracle数组学习资料

    --oracle数组,所谓数组就是  字段的 个数,数组应该很有用 --可变数组 declare  type v_ar is varray(10) of varchar2(30);   my_ar v ...

  4. iPhone中如何判断当前相机是否可用

    UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera; if (![UIImag ...

  5. centos 6.x 安装redis

    1.yum 安装 yum install redis 如果提示找不到包的话  可以yum install epel-release   先安装epel第三方库 2.源码安装 https://redis ...

  6. Servlet(一)

    BS架构的优势 1.数据库之负责数据库的管理 2.Web服务器负责业务逻辑的处理 3.浏览器提供操作界面 4.不需要单独安装客户端 5.开发相对于CS简单,客户端和服务器的通信模块都是使用标准的HTT ...

  7. 【POJ3461】【KMP】Oulipo

    Description The French author Georges Perec (1936–1982) once wrote a book, La disparition, without t ...

  8. jQuery--效果和遍历

    七.jQuery效果 (1)jQuery隐藏和显示 //隐藏 $("#hide").click(function(){ $("p").hide(1000); } ...

  9. 使用OpenSSL API进行安全编程

    http://www.ibm.com/developerworks/cn/linux/l-openssl.html OpenSSL API 的文档有些含糊不清.因为还没有多少关于 OpenSSL 使用 ...

  10. 开发Nginx模块

    开发Nginx模块 前面的哪些话 关于Nginx模块开发的博客资料,网上很多,很多.但是,每篇博客都只提要点,无法"step by step"照着做,对于初次接触Nginx开发的同 ...