集合框架和泛型

1.集合

由jdk提供的比数组更灵活、更实用,可大大提高软件的开发效率,并且不同的集合可适用于不同应用场合。它们都位于java.util包中。java的集合类主要有Map接口和Collection接口派生而来。其中Collection接口有两个常用的子接口List和Set接口。

2.List接口

List接口继承自Collection,是有序且可重复的。

其中有boolean add(Object o),void add(int index,Object o)添加和指定位置添加方法。

int size()返回元素个数方法。

Object get(int index)返回指定位置元素方法。

void set(int index,Object obj)将指定位置替换成obj元素。

boolean contains(Object o)判断是否含有o元素。

int indexOf(Object o)返回o元素在集合中的位置。

boolean remove(Object o)从列表中删除元素o

Object remove(int index)从列表中删除指定位置的元素。

List接口常用的类有ArrayList和LinkedList

ArrayList中可以添加任何类型的数据。并且添加的数据都转换成Object类。优点在于遍历数据,和查找数据快捷。缺点在于删除添加比较慢。

LinkedList是链接列表实现类。允许元素是任何数据,包括null。

优点在于插入删除元素时效率比较高。缺点是查找慢。

其几个特殊方法

addFirst,addLast,getFirst,getLast,以及removeFirst、Last。

3.Set接口

set接口可以存储不重复且无序的数据。

其常用实现类有HashSet。

HashSet集合内的元素是无序排列且不可以重复的。

HashSet类是非线程安全的

允许集合内元素值为null

常用方法isEmpty,clear,remove。

4.Iterator接口

集合中的遍历方法普遍有for循环遍历,加强for循环,其中无序数组不能普通for循环遍历。

Iterator接口表示对集合进行迭代的迭代器。其主要方法为:

hasNext判断是否有下一个元素,next返回下一个元素;

主要结合while使用。

5.Map接口

Map接口存储一组成对的键(key)-值(value)对象。提供key到value的映射。通过key来检索。

Map接口中的key不要求有序,不允许重复。value同样不要求有序,但是允许重复。

Map接口常用方法,put添加元素,get获得元素,containsKey和containsValue获取键和值。以及keySet获取所有key的集合,values获取所有值的集合。

最常用的Map接口实现类是HashMap,其优点是查询指定元素效率高。

6.排序、替换、查找

如果想实现一个类的对象之间的比较大小,那么这个类要实现Comparable接口,该类的compareTo()方法是他的比较方法。

查找通过binarySearch方法。

替换通过fill方法。

7.泛型

将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性。

泛型的定义语法格式如:

类1或者接口<类型实参>对象=new 类2<类型实参>();

Map的泛型形式Map<K,V>

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值