java 容器总结

*****************************************************************************************

======================================集合框=============================================

集合类的由来:**对象用于封装特有数据,对象多了就需要储,如果数目不确定,要就需集合容器。

集合框架的特点:
  1.集合是用于存储对象的。
  2.集合容器的大小是可变的。
  3.集合容器不可以存储基本数据类型值。

集合由于其内部的实现结构不同,就有多种类型的集合容器,通过向上抽取,就形成了集合框架。

集合框架的顶层接口:

java.util  
 |--Collection接口

 Collection接口的常见的方法:

 1.添加
  boolean add(Object o)
  boolean addAll(Collection coll) 

 2.删除
  void clear()
  boolean remove(Object o)
  boolean removeAll(Collection coll)

 3.判断
  boolean contains(Object o)
  boolean containsAll(Collection coll)
  boolean isEmpty()

 4.获取
  int size()
  Iterator iterator():该方法的实现:迭代器
  该方法的实现必须依赖于具体的容器来实现,因为每个容器的内部结构是不同的
  所有该迭代对象是在其内部实现的,对使用者而言,只要通过iterator()方法获取其迭代对象即可

  Iterator接口是对所有Colleciton容器元素取出的公共接口

 5.其他
  boolean retainAll(Collection coll) 取交集
  Object[] toArray() 将集合转换为数组

java.util
 |--Collection
   -|--List接口 :有序的,可重复的
  -|--Vector类 : 内部是数组的,是同步的,增删,查询都很慢
  -|--ArrayList类 :内部是数组的,不是同步的,替代Vector,查询很快
  -|--LinkedList类 :内部是链表数据结构,不是同步的,增删速度快


   -|--Set接口 :唯一的,无序
  -|--HashSet类 :内部是哈希表数据结构,不是同步的
  -|--TreeSet类 :可以对set集合中的元素进行排序,不是同步的

注1:HashSet中元素是通过hashCode和equals方法来保证元素唯一的,如果hashCode值不同,不用判断equals方法,
直接存储到哈希表中,否则判断equals方法,如果true,视为元素相同,否则不同。

注2:如果要存储到HashSet中,一般要覆盖hashCode和equals方法

 

================================================================================================
java.util
 |-Collections 对容器操作的工具类
 |
 |-Arrays 对数组的操作工具类
   重点掌握方法 asList
     注:用Arrays.asList()将数组转集合,但不能改变数组的长度大小,
 *      否则会抛出java.lang.UnsupportedOperationException

    注:通过Arrays.asList()转换数组为集合,集合中存放的是对象,
        如果转换是基本数据数组,会将整个数组看成一个元素存放到集合中


=================================================================================================

java.util
 |--Map
      |--TreeMap
      |--HashMap
      |--HashTable :自然排序

Map常用方法:
 1.添加
  v put(k,v):想容器中添加 键--值 对数据,并返回原先的v值,如果原先没有者返回null值
  void putAll(Map<? extends K,? extends V> m)

 2.清出
  void clear()
  v remove(object key):删除容器中的一对值,并返回v值,如果没有者返回null值

 3.判断
  boolean containsKey(Object key)    |
         |--容器中是否包含key和value值,有返回true,否则返回false
  boolean containsValue(Object value)|

  boolean isEmpty():测试容器是否为空,是返回true,否则返回false

 4.求长度
  int size():求容器 键--值 数

 5.其他
   Set<Map.Entry<K,V>> entrySet() : 返回此映射中包含的映射关系的 Set 视图。

TreeMap和HashMap如同Set中TreeSet和HashSet

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值