传奇手游风暴活动专区

  • 首页
  • 跨服动态
  • 行会战报
  • 装备图鉴
  • 2026-07-30 04:28:17

    JAVA深化篇

    容器介绍

    我们还是老样子,在正式介绍容器之前,大家已经看到我的封面换上了我们的一人一城老司机——德克诺维斯基,随着NBA新赛季利拉德远赴密尔沃基,NBA的一人一城传奇又有谁能继续书写,当初老司机二十年的坚守,这份信念谁来继承,难回首呐兄弟们!!大家怎么看呢??

    容器简介

    容器,是用来容纳物体、管理物体。生活中,我们会用到各种各样的容器。如锅碗瓢盆、箱子和包等。

    程序中的“容器”也有类似的功能,用来容纳和管理数据。==比如,如下新闻网站的新闻列表、教育网站的课程列表就是用“容器”来管理:

    视频课程信息也是使用“容器”来管理:

    开发和学习中需要时刻和数据打交道,如何组织这些数据是我们编程中重要的内容。 我们一般通过“容器”来容纳和管理数据。事实上,我们前面所学的数组就是一种容器,可以在其中放置对象或基本类型数据。

    数组的优势:是一种简单的线性序列,可以快速地访问数组元素,效率高。如果从查询效率和类型检查的角度讲,数组是最好的。

    数组的劣势:不灵活。容量需要事先定义好,不能随着需求的变化而扩容。比如:我们在一个用户管理系统中,要把今天注册的所有用户取出来,那么这样的用户有多少个?我们在写程序时是无法确定的。因此,在这里就不能使用数组。

    基于数组并不能满足我们对于“管理和组织数据的需求”,所以我们需要一种更强大、更灵活、容量随时可扩的容器来装载我们的对象。 这就是我们今天要学习的容器,也叫集合(Collection)。

    容器的结构

    单例集合 — —双例集合

    单例集合

    Collection接口介绍

    Collection 表示一组对象,它是集中、收集的意思。Collection接口的两个子接口是List、Set接口。

    Collection接口中定义的方法

    方法说明boolean add(Object element)增加元素到容器中boolean remove(Object element)从容器中移除元素boolean contains(Object element)容器中是否包含该元素int size()容器中元素的数量boolean isEmpty()容器是否为空void clear()清空容器中所有元素Iterator iterator()获得迭代器,用于遍历所有元素boolean containsAll(Collection c)本容器是否包含c容器中的所有元素boolean addAll(Collection c)将容器c中所有元素增加到本容器boolean removeAll(Collection c)移除本容器和容器c中都包含的元素boolean retainAll(Collection c)取本容器和容器c中都包含的元素,移除非交集元素Object[] toArray()转化成Object数组

    由于List、Set是Collection的子接口,意味着所有List、Set的实现类都有上面的方法。

    JDK8之后,Collection接口新增的方法(将在JDK新特性和函数式编程中介绍):

    新增方法说明removeIf作用是删除容器中所有满足filter指定条件的元素stream parallelStreamstream和parallelStream 分别返回该容器的Stream视图表示,不同之处在于parallelStream()返回并行的Stream,Stream是Java函数式编程的核心类。spliterator可分割的迭代器,不同以往的iterator需要顺序迭代,Spliterator可以分割为若干个小的迭代器进行并行操作,可以实现多线程操作提高效率

    List接口介绍

    List接口特点

    List是有序、可重复的容器。

    **有序:**有序(元素存入集合的顺序和取出的顺序一致)。==List中每个元素都有索引标记。==可以根据元素的索引标记(在List中的位置)访问元素,从而精确控制这些元素。

    **可重复:**List允许加入重复的元素。更确切地讲,List通常允许满足 e1.equals(e2) 的元素重复加入容器。

    List接口中的常用方法

    除了Collection接口中的方法,List多了一些跟顺序(索引)有关的方法,参见下表:

    方法说明void add (int index, Object element)在指定位置插入元素,以前元素全部后移一位Object set (int index,Object element)修改指定位置的元素Object get (int index)返回指定位置的元素Object remove (int index)删除指定位置的元素,后面元素全部前移一位int indexOf (Object o)返回第一个匹配元素的索引,如果没有该元素,返回-1.int lastIndexOf (Object o)返回最后一个匹配元素的索引,如果没有该元素,返回-1

    双例集合

    Map接口介绍

    ==Map接口定义了双例集合的存储特征,它并不是Collection接口的子接口。双例集合的存储特征是以key与value结构为单位进行存储。==体现的是数学中的函数 y=f(x)感念。

    Map与Collecton的区别:

    Collection中的容器,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。Map中的容器,元素是成对存在的(理解为现代社会的夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。Collection中的容器称为单列集合,Map中的容器称为双列集合。Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。Map中常用的容器为HashMap,TreeMap等。

    Map接口中常用的方法表

    方法说明V put (K key,V value)把key与value添加到Map集合中void putAll(Map m)从指定Map中将所有映射关系复制到此Map中V remove (Object key)删除key对应的valueV get(Object key)根据指定的key,获取对应的valueboolean containsKey(Object key)判断容器中是否包含指定的keyboolean containsValue(Object value)判断容器中是否包含指定的valueSet keySet()获取Map集合中所有的key,存储到Set集合中Set> entrySet()返回一个Set基于Map.Entry类型包含Map中所有映射。void clear()删除Map中所有的映射

    好了,下次博文我们细细展开来说单例集合和双例集合中都有哪些具体容器,感谢大家观看,求三连,不迷路!

    【GK短知識】GK都是限量嗎?事有蹊蹺!
    电动大脚车的价格范围是多少
    行会战报

    友情链接:

    ©Copyright © 2022 传奇手游风暴活动专区 All Rights Reserved.