[JAVA]集合框架

java集合框架(ArrayList)

List子类的特点

ArrayList:

底层数据结构是数组  查询快  增删慢

线程不安全 效率高

Vector:

底层数据结构是数组  查询快  增删慢

线程安全 效率低

LinkedList:

底层数据结构是链表  查询慢  增删快

线程安全 效率低

Iterator接口

也叫迭代器

主要用于迭代访问(即遍历)Collection中的元素

增强for循环

优点:

不需要获得容器长度

也不要根据索引访问容器中的元素, 它会自动遍历容器中的每一个元素

弊端:

只能访问集合的元素, 不能修改元素

Set接口

HashSet集合

  • 底层数据结构是哈希表
  • 没有带索引的方法,不能使用普通for循环遍历
  • 因为是set集合, 所存储元素是不可重复 , 元素是无序的

哈希表

哈希值

  • JDK根据对象的地址或者字符串或者数字算出来的int类型的数值
  • public int hashCode(): 返回对象的哈希码值

对象的哈希值特点

  1. 同一对象对此调用hashCode()方法返回的哈希值是相同的
  2. 默认情况下,不同对象的哈希值是不相同的
  3. 通过方法重写,可以实现不同对象的哈希值是相同的

Map接口

双列集合,每一个元素包含一个键对象Key和值对象Value,键和值对象之间存在一种对应关系,称为映射

将键映射到值的对象,不能包含重复的键,每个键可以映射到最多一个值,简单来说就是键相同,值覆盖

原文地址:https://www.cnblogs.com/facan/p/12256894.html