JAVA集合类总结

JAVA集合类总结

file

所有的集合类都是先Iterator接口,意味着所有的集合类都是可以迭代输出的。 以Collection为接口的元素集合类型,以Map为接口的映射集合类型 。所有集合的实现类都不是直接实现集合类接口,而是都继承一个相应的抽象类。 file Collection类型又分为两大类Set和List set提供的是一个无序集; List提供的是一个有序集; Map提供了一个映射关系的集合数据结构。

List

List接口提供了多个实现的子类,其实现类有ArrayList,LinkedList,这两个都是非线程安全的。 Vector是线程安全的List实现类(sun公司不建议使用了),Stack是vector的子类。 Queue也是Collection的子接口,也就是我们所说的队列,默认采用的是先进先出。由于LinkedList实现了Queue和List接口,因此建议直接使用LinkedList。

遍历的方式有三种

  1. 根据下标
  2. Iterator
  3. 增强for

Set

与Collection或List接口不同的是,Set接口中不能加入重复元素,同时Set接口的实例无法像List接口(Collection本身就不能进行双向输出)一样双向输出。 Set接口常用的子类有HashSet(散列存放)、TreeSet(有序存放),两者都是非线程安全的。

特点:

  1. 无序存放
  2. 长度可变(集合和队列一样)
  3. 元素是不重复的

Map

存入的对象以键值对的形式存在,Map中的键是不能重复的,但值是可以重复的。 HashMap:无序存放,key不许重复 TreeMap:可以排序,按照key排序,key不许重复

特点:

  1. 一个K对应一个V,K是一个set集合
  2. 是不可重复的
  3. 无序的
  4. 如果加入相同K的键值对时,则会替换原来的键值对
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值