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对象是无序排列的

原文地址:https://www.cnblogs.com/zhangguangxiang/p/14232589.html