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集合也像一个罐子,只是它里面的每项数据都是由两个值组成。

  • 相关阅读:
    grep 和vim用法
    【python】初识函数
    【python】 文件相关操作
    【python】基础数据类型相关知识点补充和深浅拷贝
    【python】is和==的区别以及encode()和decode()
    python中的字典以及相关操作
    python列表元祖以及range
    python基本数据类型
    python基础逻辑运算
    了解Python与安装Python解释器
  • 原文地址:https://www.cnblogs.com/weststar/p/12491059.html
Copyright © 2011-2022 走看看