zoukankan      html  css  js  c++  java
  • C#与java中的集合区别

    集合一般的操作

          插入: 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#获取当前路径的七种方法
    map容器对象插入数据的4种方式【转】
    为VMware虚拟机内安装的Ubuntu 16.04设置静态IP地址【转】
    Ubuntu16手动配置IP地址
    当前上下文不存在名称“***”
    C++读写文件ofstream,ifstream,fstream)[转]
    atoi()函数
    C++常用输出 cout、cerr、clog
    Lucene教程(转)
    selenium环境搭建1
  • 原文地址:https://www.cnblogs.com/tech-bird/p/3652156.html
Copyright © 2011-2022 走看看