Collection包结构,与Collections的区别,List,Set,Map

一、Collection是单列集合

collection

(一)List 元素是有序的、可重复的

  • 有序的collection,可以对列表中的每个元素的插入位置进行精确地控制
  • 可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素
  • 可存放重复元素,元素存取是有序的

List接口中常用类

  1. Vector:线程安全,速度慢,已被ArrayList替代,底层数据结构是数组结构
  2. ArrayList:线程不安全,查询速度快,底层数据结构是数组结构
  3. LinkedList:线程不安全,增删速度快,底层数据结构是链表结构

具体转【Java】List常用类,ArrayList与Array区别,Queue的用法

(二)Set(集) 元素无序的、不可重复

  • 取出元素的方法只有迭代器
  • 不可存放重复元素
  • 元素存取是无序的

Set接口中常用的类

  1. HashSet:线程不安全,存取速度快
    保证元素的唯一性:依赖于元素的hashCode方法和equals方法
  2. TreeSet:线程不安全,可以对Set集合中的元素进行排序
    保证元素的唯一性:通过compareTo或者compare方法来保证元素的唯一性。元素是以二叉树形式存放的

二、Map 是一个双列集合

  • Hashtable
  • HashMap
  • LinkedHashMap
  • TreeMap

具体介绍转java.util.Map:HashMap HashTable LinkedHashMap TreeMap

三、Collection和Collections的区别

  • Collection是集合类的上级接口,子接口主要有SetListMap
  • Collections是针对集合类的一个帮助类,提供了操作集合的工具方法:一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值