黑马程序员__集合框架

集合是用于存储数据的容器。

特点:对象封装数据,集合存储对象。对象个数确定是可以用数组,不确定是用容器,因为容器长度可变。

集合与数组的区别:1,数组长度固定,而容器可变     2,数组可以存储引用数据类型、基本类型数据,而集合只存引用数据类型    3,数组内的数据必须类型一致,而容器不需要


因为存储数据的底层算法不同,即数据结构不同,所以会有多种容器,在使用时更具需求选定最适合的容器。

collection接口:

添加:add();  addAll()

删除:clear()  remove()   removeAll()

判断:contains(obj)      containsAll(Collection)  isEmpty()

获取:int size()

取交集: retainAll(Collect)

获取所有元素:iterator()

将集合变成数组:  toArray();


Iterator:是一个接口,用于取集合中的数据。hasNext()   next()   remove()

list是collection的子接口。list集合有索引,所以是有序的。包括 AarryList 底层数据结构是数组,线程不同步。有索引,所以元素查询快。 linklist 底层数据结构是链表,线程不同步,元素增删的速度快。 vector 底层数据结构是数组,线程同步,查询增删都慢。


set:接口中方法与Collection中的方法一致。set接口取出方式只有一种,迭代器。

包括hashset:底层是哈希表,线程不同步。无序,高效。  没有重复元素,保证唯一性需要重写equals()方法和hashcode()方法。    TreeSet::对set集合中的元素进行排序。不同步,底层是二叉树。若元素不具备比较性,则须实现Comparable接口,复写compareto()方法,或者让集合具备比较性,实现Comparator接口,并覆盖compare()方法。并将该类对象作为实参传递给TreeSet集合的构造方法。


Map集合和Collection集合不同。 Collection一次存一个元素,Map集合一次存一对元素(键,值,映射)。 hashmap底层是哈希表结构,线程不同步,可存null,null,替代了hashtable。  treemap底层是二叉树,对map集合元素进行指定顺序排序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值