13、Java的集合与泛型简介

13、Java的集合与泛型简介
一、认识集合
由于在Java中,存储同一类型的数据,用数组来实现的话,由于数组长度固定不变,不能很好的适应元素数量动态变化的情况。所以集合在存储数据时,是数组的补充,比数组更加的灵活更加实用。
二、Java的集合类
1、集合有三大接口Map,List、Set
2、Java的集合类主要是由Map接口和Collection接口派生而来
3、collection接口有两个常用的子接口,即List和Set接口
4、collection接口是最基本的集合接口,可以存储一组不唯一,无序的对象
5、List接口继承于collection接口,是不唯一,有序的集合,可以通过索引访问List中的元素
6、List接口的实现类有ArrayList类和LinkedList,两个实现类
ArrayList称为动态数组,和数组采取相同的存储方式,它不等同于数组,ArrayList集合中可以添加任何数据类型的数据,并且添加的数据都将转为Object类型,而数组中只能存储同一类型的数据
LinkedList类是List接口的链接列表实现类。它支持实现所有List接口可选的列表操作,并且允许元素值是任何数据,包括null。
7、Set接口可以储存唯一,无序的对象
8、Set接口的实现类是HashSet,在查找数据时,不知道索引且需要全部遍历的情况下,HashSet的查找效率会比ArrayList类和LinkedList,要高
9、Map接口是存储一组成对的键(key)-值(value)对象,提供Key到value的映射,即找到Key就可以找到value的值。通过key来查找。
Map接口中的key不要求有序,不允许重复
value同样不要求有序,可以重复。
10、Map接口的实现类有HashMap、TreeMap、LinkedHashMap、HashTable
13、Java的集合与泛型简介