集合的体系结构——集合的基础知识

为什么需要集合

面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对多个对象进行存储,因为数组有一些弊端,所以引入了集合。

  1. 集合和数组都是对多个数据进行存储的结构,简称Java容器。
  2. 数组的特点,一旦初始化之后,其长度就固定了;声明数组的时候,需要指定数组的类型,其元素的类型也就确定了。比如:String [] arr; int [] arr; Object [] arr;
    3. 数组的缺点(反过来就是集合的优点)
    一旦初始化之后长度就不可修改了;
    数组中提供了方法非常的有限,对于添加、删除、插入数据非常的不方便、同时效率也很低下;
    获取数组中实际元素的个数,数组没有现成的属性或者方法可用;
    数组存储数据的特点是有序的,中间不能有空,数组存储数据的特点是有序、可重复。对于无序、不可重复的需求,不能满足。

Java集合可分为Collection和Map两种体系

  1. Collection接口:单列数据,定义了存储一组对象的方法的集合
  • List 接口:元素有序、可重复。(常被称为“动态”数组,自动扩容)
    ArrayList、LinkedList、Vector
  • Set 接口: 元素无序、不可重复 。(高中时候讲过的集合。无序性、确定性、互异性)
    Set的集合常常用于数据的过滤。
    HashSet、LinkedHashSet、TreeSet
  1. Map接口
    双列数据,保存具有映射关系“key - value对”的集合。
    (高中学过的 y = f(x)每一个x对应了一个y,不同的可能对应了同一个y,但是一个x不可能对应多个y,Map集合也是一个value可以对应不同的key,但是一个key不能对应多个value)
    HashMap 、LinkedHashMap、TreeMap、HashTable、properties

Collection接口继承树Map接口继承树
根据功能不同选择不同的容器。

前情回顾

Collection接口中的方法的使用

Collection collection = new ArrayList();
add(); size(); addAll();clear(); isEntry();

throw 和 throws 的异同

  1. 相同点:没有 (都是异常处理部分使用的,这算吗?)
  2. 异:
  • throw:生成一个异常对象,并且抛出。使用的位置在方法的内部,自动抛出异常对象。
  • throws:处理异常的方式,使用在方法声明的末尾,对应的另外一种方式是try catch finally
    “上游排污,下游治污”
    谈谈你对同步代码块中同步监视器和共享数据的理解及其各自要求。
    同步监视器:俗称锁。①任何一个类的对象都可以充当锁。② 多个线程共用同一把锁。
    共享数据:多个线程共同操作的数据,即同步数据,需要使用的同步机制讲操作共享数据的代码包起来,不能包多了,也不能包少了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值