zoukankan      html  css  js  c++  java
  • 7.1 Java集合概念

    在编程中常常需要集中存放多个数据,可以使用数组来保存多个对象,但是数组的长度一旦初始化指定后,不能进行改变;而且数组无法保存具有映射关系的数据:语文——88,数学——100。

    为了保存数量不确定的数据,以及保存具有映射关系的数据(也称为关联数组),Java提供了集合类。集合类主要用于保存、盛装其他数据,因此集合类也被称为容器类。所有集合类都位于java.util包下,后来为了处理多线程环境下的并发安全问题,Java 5还在java.util.cincurrent包下提供了一些多线程支持的集合类。

    集合类和数组不一样,数组元素既可以基本类型的值,也可是对象(实际上是引用类型变量)。

    Java集合类主要由两个接口派生出来:Collection和Map。Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。 

    下图是Collection接口、子接口以及实现类的继承树:

     其中粗线圈出的Set和List接口是Collection接口派生出的两个子接口,它们分别代表了无序集合和有序集合;Queue是Java提供的队列实现,有点类似于List。

    下图是Map体系的继承树,所有Map实现类用于保存具有映射关系的数据

     在Map显示的众多实现类,这些类有一个相同的功能特征:Map保存的每项数据都是key-value对。Map里的key是不可重复的,key用于标记集合中的每项数据,如果需要查询Map中的数据,总是通过Map的key来获取。

    对于上面两个图粗线标出的四个接口,可以把Java所有集合分成3项,其中Set集合类似一个罐子,把一个对象添加到Set集合时,Set无法记住添加这个元素的顺序,所以Set里的元素是不可重复的;List集合像一个数组,可以记住每次添加元素的顺序、且List长度可变;Map集合也像一个罐子,只是它里面的每项数据都是由两个值组成。

  • 相关阅读:
    制衡技术的新蓝海
    制衡技术,从Adblock所想到的
    centos6中安装新版 Elasticsearch 7.x
    nrm 安装与npm镜像切换
    james2.3 配置收件 之 MariaDB数据库配置
    手动搭建apache james邮件服务器,实现邮件功能
    James 如何作为服务在后台启动
    安装最新版RabbitMQ v3.7.13 以及基本配置
    mac 下 通过 brew 安装 MariaDB
    Mac 上安装maven
  • 原文地址:https://www.cnblogs.com/weststar/p/12491059.html
Copyright © 2011-2022 走看看