栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java集合总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java集合总结

java集合框架
  • Collection
    • 一、List
      • ArrayList(动态数组)
      • Vector(动态数组)
      • linkedList(链表)
      • Stack
    • 二、Set
    • HashSet
  • Map
    • HashMap
    • Hashtable
    • TreeMap
  • Iterator
  • ListIterator
  • Enumeration
  • Arrays 和 Collections

Collection

Collection是一个接口,它包含了基本操作和属性。Collection 包含了List和Set俩大分支。

一、List

List是一个有序的队列,其中的元素无序,存入顺序有序,可重复的线性结构,其中存放的是泛型实例的地址不是其值,通过地址访问元素,每一个元素都有它的索引。第一个元素的索引值是0。
List的实现类有linkedList、ArrayList、Vector 和 Stack。

ArrayList(动态数组)
  • ArrayList 允许任何符合规则的元素插入甚至包括null。每一个ArrayList都有一个初始容量 10 。
    每次向容器中增加元素的同时都会进行容器检查,当快溢出时,就会进行扩容操作。
  • 线性队列式结构,替代了 vector (动态数组)线程不安全。
  • Arrays 工具类也有一个ArrayList类,注意区分。
Vector(动态数组)

线性队列式结构(动态数组),线程安全的,方法基本与ArrayList相同,同步过程慢。

linkedList(链表)

双向链表,不能随机访问。可以被当做栈、队列或双端队列来使用。
链表式结构(插入、删除较快、但查询较慢)不同步。

Stack

Stack 表是后进后出的对象堆栈,线程安全的,继承自Vector。

二、Set

Set是一个不允许有重复元素的集合,其中的元素有序,存入顺序无序。
Set的实现类有HashSet和TreeSet,且全部线程不安全。
HashSet依赖于HashMap,它实际上是通过HashMap实现的;
TreeSet依赖于TreeSet,它实际上是通过TreeMap类实现的。

HashSet

使用哈希算法来存储元素,具有较好的存取、查找特性。
重复时不会继续放入,由哈希表(HashMap 实例)支持。
它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变,此类允许使用 null 元素。

  1. 不能保证元素的排列顺序(迭代是无序)(存在逻辑顺序)
  2. 线程不安全。
  3. 可以包含null
Map

Map是一个映射接口,即key-value键值对。Map中的每一个元素包含 一个key 和key对应的value。一个映射不能包含重复的键;每个键最多只能映射到一个值,当添加重复的 key 时,新的键值对会覆盖老的键值对。
HashMap、TreeMap 和 WeakHashMap 都是继承于 AbstractMap。Hashtable继承于Dictionary,但是它实现了Map接口。
Map中不能应用迭代器,当需要获取所有元素时

  1. 先获取一个视图,再迭代调用获取函数
  2. 或者:利用Map.Entry
HashMap

哈希表结构
非同步
无序
支持null作为键 或值元素
判断键的标准:hashcode + equals
子类:linkedHashMap 保存存入顺序

Hashtable

哈希表结构
同步
不支持null作为键 或值元素
子类:Properties:用来存储键值对型的配置文件信息。可以和IO技术结合

TreeMap

二叉树结构
根据键排序(默认)
也可以根据值的 Comparator排序

Iterator

Iterator 是一个遍历集合的工具,Collection 的实现类都要实现iterator()函数,返回一个Iterator对象。

ListIterator

ListIterator 是专门遍历 List 的

Enumeration

Enumeration 的作用和 Iterator 一样,也是遍历集合,但Enumeration只能在 Hashtable、Vector、Stack中使用。

Arrays 和 Collections

Arrays 和 collections 它们是操作数组、集合的俩个工具类。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/683646.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号