zoukankan      html  css  js  c++  java
  • java集合

    java中的集合是工具类,可以存储任意数量的具有共同属性的对象。

    1、为什么使用集合,而不用数组

    • 无法预测存储数据的数量
    • 同时存储具有一对一关系的数据
    • 需要进行数据的增删
    • 数据重复问题

    2、集合框架的体系结构

    2.1Collection

    2.1.1List(有序允许重复)列表

    主要实现类ArrayList

    • ArrayList底层是由数组实现的
    • 动态增长,以满足应用程序的需求
    • 在列表尾部插入或删除数据非常有效
    • 更适合查找和更新元素
    • ArrayList中的元素可以为null

    2.1.2Queue(有序允许重复)队列

    主要实现类LinkedList

    2.1.3Set(无需不许重复)集

    主要实现类HashSet

    • HashSet是Set的一个重要实现类,称为哈希集
    • HashSet中的元素无序并且不可以重复
    • HashSet中只允许一个null元素
    • 具有良好的存取和查找特性
    • 底层是HashMap

    2.3.4Iterator(迭代器)(输出set中的值)

    • Iterator接口可以以统一的方式对各种集合元素进行遍历
    • hasNext()方法检测集合中是否还有下一个元素
    • next()方法返回集合中的下一个元素

    Set set = new HashSet();
    ....添加好多数据
    Iterator it = set.inerator();
    while(it.hasNext()){
        ....
    }

    2.2Map

    主要实现类HashMap

    2.2.1Map

    • Map中的数据以键值对(key-value)的形式存储
    • key-value以Entry类型的对象实例存在
    • 可以通过key值快速地查找value
    • 一个映射不能包含重复的键
    • 每个键最多只能映射一个值

    2.2.2HashMap

    • 基于哈希表的Map接口的实现
    • 允许null值和null键
    • key值不允许重复
    • HashMao中的Entry对象是无序排列的

  • 相关阅读:
    poj 2104(线段树)
    poj 1962(并查集+带权更新)
    hdu 2818(并查集,带权更新)
    hdu 1856
    hdu 3172
    hdu 1325(并查集)
    hdu 5023
    pku 2777(经典线段树染色问题)
    hdu 1671(字典树判断前缀)
    hdu 1247 (字典树入门)
  • 原文地址:https://www.cnblogs.com/zhangguangxiang/p/14232589.html
Copyright © 2011-2022 走看看