一、集合框架和泛型
1.集合框架
(1)定义:java中的集合是指一系列存储数据的接口和类,这些类和接口都位于java.util包中
(2)原因(为什么使用集合框架):a、数组的大小是固定的;b、数组保存数据类型是单一的;c、数组操作数据比较复杂
(3)分类:主要有Collection、Map两个接口组成。
Collection接口是集合中最大的接口(与Map接口是等级并列关系)
返回类型
方法名称
描述
boolean
add(Object o)
在集合末尾添加元素
int
size()
返回集合列表中元素个数
Object
get(int index)
返回指定索引位置的元素,索引从0开始
boolean
removeAll(Collection col)
删除集合中的所有元素
boolean
contains(Object o)
判断集合中是否存在指定的元素
boolean
remove(Object o)
从集合中删除元素
Object
remove(int index)
从集合中删除指定索引位置的元素
  void
clear()
清除集合中的所有元素
Iterator
iterator()
为Iterator接口实列化
Collection接口的常用方法,所有的List Set都有这些方法
<1>Collection 接口存储一组 不唯一、无序的对象.
<2>List 接口存储一组 不唯一、有序的对象.
<3>Set 接口存储一组 唯一、无序的对象.
<4>Map 接口存储一组键值对象, 提供 key-value(k-v)的映射.
<5>Iterator:迭代器.
<6>Collections:工具类.(提供了对集合进行排序、遍历等多种算法实现)
2、List 接口.
List 接口的实现类:
<1>ArrayList:实现了长度可变的数组,在内存中分配连续的空间,遍历元素 和随机访问元素效率高.
*常用方法:
<2>LinkedList:采用了链表存储方式,插入、删除元素是效率较高.
java valueof*常用方法:
3、Set接口
<1>存储唯一、无序的对象.     
<2>Set 里面存放的是对象的引用.     
<3>采用equals()方法比较两个对象是否为同一对象.
<4>Set是接口,没法new,不存在get()方法(因为set无序)
set接口中的数据不能通过下标去访问
遍历集合:转换成数组 增强型for  迭代器
Set 接口的实现类:  HashSet
HashSet集合的特点:集合内的元素是无序排列的
                  HashSet类是非线性安全的
                  允许集合元素值为null
4、Iterator接口
<1>增强型 for 
<2>迭代器 Iterator 
*获取 Iterator:Collection 接口的 iterate()方法. 
*Iterator 的方法:
*boolean hasNext(): 判断是否存在另一个可访问的元素.
*Object next(): 返回要访问的下一个元素.
5、Map 接口.
Map 接口存储一组成对的键key 值value
Key:唯一 无序 value:不唯一 无序
(1) 以键值对形式存储数据  (2)不允许出现重复键  (3) 元素存储顺序无序
Map 接口实现类:
<1>HashMap.
*常用方法:
<2>遍历 Map 集合:
*增强型 for 
*迭代器 Iterator
获得 Map 键和值的方式:
<1>keySet() --Set
迭代这个 Set(Iterator) 
get(key)
<2>entrySet()--Set(Map.Entry)
增强型 for(或者 Iterator)
getKey()
getValue()
6、泛型.
<1>将对象的类型作为参数指定到其他类或者方法上,从而保证类型转换的安全性和稳定性.
<2>典型的泛型集合: ArrayList<E>  HashMap<K,V> *<E><K,V>表示该泛型集合中的元素类型.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。