俗话说:一个东西,一件事都离不开三句话:“是什么,为什么,怎么办”

集合是什么:

集合简单的说一个数组集合的高级体现,用来存储数据或对象的容器;

集合为什么存在:

集合只是体现了对数据操作的灵活度;大大方便了开发者的效率;

集合怎么使用:

使用分了以下几种方式:        Collection     集合   1.list    2.Set

List

          List            底层数据结构   查询 增删 线程   效率
 ArrayList     数组  不安全
Vector   数组 安全
LinkedList       链表   不安全    高

Set

Set 底层数据结构 有序 唯一 排序
HashSet 哈希表 是(依赖hashCode()和equals()) --
LinkedhashSet 链表和哈希表

由链表保证元素有序
由哈希表保证元素唯一

--
TreeSet 红黑树 --

a.自然排序

b.比较器排序

(4)Collection的功能概述

List cn=new ArrayList();
     A:添加功能

add(Object e);//直接自然顺序插入

add(index, element);//按索引插入
     B:删除功能

remove(index);//根据索引移除
     C:判断功能

cn.contains(object e)//判断cn集合中是否存在元素e
     D:获取功能

cn.get(index)//跟据索引获取值
     E:长度功能

cn.size()//返回集合长度
     F:交集(了解)

cn.retainAll(Collection c)//cn对c做交集

cn对c做交集  返回值是boolean值

有交集       则返回true  存在交际则cn集合中的值会返回交集值

无交集        则返回false
    G:把集合转数组

cn.toArray()
(5)Collection集合的遍历
     A:把集合转数组(一般不用)

遍历集合 改成 遍历数组
     B:迭代器(集合专用方式) 
           迭代器

//创建cn集合对象的迭代器

iterator it=cn.iteraror();

while(it.hasnext())

{System.out.println(it.next())}
           1:是集合的获取元素的方式。
           2:是依赖于集合而存在的。
           3:迭代器的原理和源码。
                   a:为什么定义为了一个接口而不是实现类?

简单的说:不管是哪一种集合,我们都要获取集合中的数据,并且在获取之前辅助于判断功能,也就是说在获取元素之前先进行判断,那么集合就有两个功能(判断,查询)。这样如果是实现类只能去实现某一个集合,反而接口可以做到,让子类自己去实现接口,这样就达到要求了;

(5)并发修改异常
    A:出现的现象
          迭代器遍历集合,集合修改集合元素
    B:原因
          迭代器是依赖于集合的,而集合的改变迭代器并不知道。
    C:解决方案
          a:迭代器遍历,迭代器修改(ListIterator)
                元素添加在刚才迭代的位置
          b:集合遍历,集合修改(size()和get())
                元素添加在集合的末尾
  (6)常见数据结构
         A:栈 先进后出
         B:队列 先进先出
         C:数组 查询快,增删慢
         D:链表 查询慢,增删快

浅谈Collection集合的更多相关文章

  1. 浅谈JAVA集合框架

    浅谈JAVA集合框架 Java提供了数种持有对象的方式,包括语言内置的Array,还有就是utilities中提供的容器类(container classes),又称群集类(collection cl ...

  2. 浅谈 Java集合

    Java 集合 集合是对象的容器,定义了多个对象进行操作的常用方法,可实现数组的功能. Java集合类库所处位置:java.util.*. 与现代的数据结构类库的常见做法一样,Java集合类库也将接口 ...

  3. 浅谈JAVA集合框架(转载)_常用的Vector和HashMap

    原作者滴着:http://www.cnblogs.com/eflylab/archive/2007/01/20/625237.html Java提供了数种持有对象的方式,包括语言内置的Array,还有 ...

  4. 浅谈Swift集合类型

    Swift 的集合表现形式由数组和字典组成.它可以完美的存储任何呢想存储的东西. 数组是一个同类型的序列化列表集合,它用来存储相同类型的不同值.字典也是一个数组,但它的存值方式类似于Map,通过一对一 ...

  5. 浅谈C#集合【转】

    集合是.NET FCL(Framework Class Library)中很重要的一部分,也是我们开发当中最常用到的功能之一,几乎是无处不在.俗话说知其然,知其所以然,平常看到IEnumerable, ...

  6. 浅谈Java集合体系及底层实现原理

    集合加载因子 https://blog.csdn.net/qq_34627002/article/details/79769261 底层原理: https://blog.csdn.net/qq_258 ...

  7. 浅谈Java的集合框架

    浅谈Java的集合框架 一.    初识集合 重所周知,Java有四大集合框架群,Set.List.Queue和Map.四种集合的关注点不同,Set 关注事物的唯一性,List 关注事物的索引列表,Q ...

  8. 铁乐学Python_day07_集合and浅谈深浅copy

    1.[List补充] 在循环一个列表时,最好不要使用元素和索引进行删除操作,一旦删除,索引会随之改变,容易出错. 如果想不出错,可以采用倒着删除的方法,因为倒着删除进行的话,只是后面元素的位置发生了变 ...

  9. C#集合类型——Array、ArrayList、List 之浅谈

    在学习或工作中,集合是经常用到的,可以换一句话说“无项目无集合”,“项目皆有集合”.它一般存储一系列数据或者将一系列数据进行相关操作.在这里先大略谈一些集合类型的相关知识用于回顾. 数组(Array) ...

随机推荐

  1. iOS有关横向TableView的东西

    之前看到Apple store里面有横向的tableview,当然也有可能是collectionview啦. 尤其是项目中只有一条那么需要横向滑动的东西,就没有必要使用庞大的collectionvie ...

  2. redis成长之路——(二)

    redis操作封装 针对这些常用结构,StackExchange.Redis已经做了一些封装,不过在实际应用场景中还必须添加一些功能,例如重试等 所以对一些常功能做了一些自行封装SERedisOper ...

  3. 【夯实Nginx基础】Nginx工作原理和优化、漏洞

    本文地址 原文地址 本文提纲: 1.  Nginx的模块与工作原理    2.  Nginx的进程模型    3 . NginxFastCGI运行原理        3.1 什么是 FastCGI   ...

  4. Spring异步功能

    使用 Spring 的异步功能时,实质是使用的 Servlet3 及以上版本的异步功能. Spring 的异步处理机制需要在 web.xml 中全部的 servlet 和 filter 处配置 < ...

  5. 站在风口,你或许就是那年薪20w+的程序猿

    最近面试了一些人,也在群上跟一些群友聊起,发现现在的互联网真是热,一些工作才两三年的期望的薪资都是十几K的起,这真是让我们这些早几年就成为程序猿的情何以堪!正所谓是站在风口上,猪也能飞起来!我在这里就 ...

  6. ABP框架 - 多租户

    文档目录 本节内容: 什么是多租户 多部署 - 多数据库 单部署 - 多数据库 单部署 - 单数据库 单部署 - 混数据库 多部署 - 单/多/混 数据库 ABP中的多租户 启用多租户 宿主与租户 会 ...

  7. Spark 学习总结

    摘要: 1.spark_core 2.spark_sql 3.spark_ml 内容: 1.spark_core 原理篇: Spark RDD 核心总结 RangePartitioner 实现简记 S ...

  8. 如何在Nginx下配置PHP程序环境

    1.nginx与PHP的关系 首先来看nginx与php的关系, FastCGI的关系(而不是像apache那样安装成nginx的模块) FastCGI的意思是, 快速的通用网关接口:CGI Comm ...

  9. GitHub实战系列~3.提交github的时候过滤某些文件 2015-12-10

    GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html ———————————————————————————————————————— ...

  10. 【WCF】授权策略详解

    所谓授权者,就是服务授予客户端是否具有调用某个服务操作的权限. 授权过程可以通过一系列授权策略来进行评估,即每个特定的授权策略都按照各自的需求,衡量一下调用方是否具备访问服务操作的权限.在默认情况下, ...