首页 > 编程语言 > 详细

java集合分类

时间:2018-07-12 17:38:29      阅读:156      评论:0      收藏:0      [点我收藏+]

Java集合分类:

  • List
  • Set
  • Map
  • Queue
  • 数组
  • 工具类
  • 扩展类

List:

  • ArrayList :动态数组。
  • LinkedList:双向链表。
  • Vector:线程安全的动态数组。
  • Stack:对象栈,遵循先进后出的原则。

Set:

  • EnumSet:枚举类型专用Set,所有元素都是枚举类型。
  • HashSet:以哈希码决定元素位置的set
  • TreeSet:插入时会自动排序的set,但是如果中途修改元素大小,则不会再修改后重新排序,只会在插入时排序。

Map:

  • TreeMap :自动排序map,根据key值自动排序。
  • HashMap:Entry数组,以key的哈希码决定元素位置,所以,要保证key的哈希码不一致,如果碰到值不同但哈希码相同的key,会以单向链表扩展
  • HashTable:线程安全的
  • Properties:HashTable的子类,从Property文件中加载数据,并提供方便的读写操作。
  • EnumMap:Key必须是枚举类型。

Queue:

  • 阻塞式队列,满了以后再插入元素会抛出异常;
    • ArrayBlockingQueue :以数组方式实现。
    • PriorityBlockingQueue:依照优先级组件的队列。
    • LinkedBlockingQueue:通过链表实现。
  • 非阻塞队列,无边界,只要内存允许,可以持续追加。
    • PriorityQueue
  • 双端队列,支持在头尾两端插入和移除元素。而上面的阻塞队列和非阻塞队列都时单端队列,只能在一端插入,另一端删除。
    • ArrayDeque
    • LinkedBlockingDeque
    • LinkedList

工具类:

  • 数组工具类
    • java.util.Arrays
    • java.lang.reflect.Array
  • 集合工具类
    • java.util.Collections

扩展类:
可以自己写一个List,或使用第三方实现例如:

  • Apache的Commons-collections扩展包
  • Google的google-collections扩展包

java集合分类

原文:https://www.cnblogs.com/shuia/p/9300341.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!