Java泛型和集合

泛型的概念:


泛型是 Java SE5 出现的新特性,泛型的本质是类型参数化或参数化类型,在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型。

集合的定义:

集合是指集中存放一组对象的一个对象。集合相当于一个容器,提供了保存、获取和操作其他元素的方法。集合能够帮助Java程序员轻松地管理对象。Java集合框架由两种类型构成,一个是Collection;另一个是Map。Collection对象用于存放一组对象,Map对象用于存放一组“关键字/值”的对象。

基本操作:

        实现基本操作的方法有添加元素,删除指定元素,返回集合中元素的个数,返回集合的迭代器对象。

1.boolean add(E e) :     向集合中添加元素e。

2.boolean remove(Object o) :   从集合中删除指定的元素o。

3.boolean contains(Object o) :   返回集合中是否包含指定的元素o。

4.boolean isEmpty() :    返回集合是否为空,即不包含元素。

5.int size() :   返回集合中包含的元素个数。

6.Iterator iterator() :  返回包含所有元素的迭代器对象。

7.default void forEach(Consumer<? super T>action) :   从父接口继承的方法,在集合的每个元素上执行指定的操作。


collection接口
前面提到,集合可以分为 Collection 和 Map 两类,现在开始学习 Collection。Collection 是一个顶层接口,一些 Collection 接口的实现类允许有重复的元素,而另一些则不允许;一些 Collection 是有序的,而另一些则是无序的。
JDK 不提供 Collection 接口的任何直接实现类,而是提供了更具体的子接 口,如 Set 接口和 List 接口。这些子接口继承 Collection 接口的方法,然后再对 Collection 接口从不同角度进行重写或扩充。
List接口及实现类:
       List接口是Collection的子接口,实现一种线性表的数据结构。存放在List中的所有元素都有一个下标(从0开始),可以通过下标访问List中的元素。List中可以包含重复元素。List从Collection接口继承的操作于Collection接口类似,但有的操作有些不同。例如,remove()方法总是从线性表中删除指定首次出现的元素;add()和addAll()方法总是将元素插入到线性表的末尾。 

ArrayList : 底层数据结构是数组,允许对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢。线程不安全

LinkedList : 底层数据结构是链表。线程不安全,对顺序访问进行了优化,向List中间插入与删除快。随机访问则相对较慢。

Vector: 底层数据结构是数组。线程安全。随机访问快,向List中间插入与删除慢。

Map接口及实现类
Map:双列集合类的根接口,这种接口的实现类专门用于存储一系列键值对。在 Map 实现类中,key 不允许重复,而 value 不做要求。

常用的方法:

public V put(K key, V value):把指定的键与指定的值添加到Map集合中。

public V remove(Object key):把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的值。

public V get(Object key):根据指定的键,在Map集合中获取对应的值。

boolean containsKey(Object key):判断集合中是否包含指定的键。

public Set<K> keySet():获取Map集合中所有的键,存储到Set集合中。

public Set<Map.Entry<K,V>> entrySet():获取到Map集合中所有的键值对对象的集合(Set集合)。

Map接口的常用实现类:Hashmap、TreeMap、Hashtable。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值