集合结构体系
泛型就是在模拟数组的定义格式
在创建集合对象的时候就将集合中存储的类型就已经规格定了!
格式:
<引用数据类型>
泛型的好处:
1)将运行时期异常提前到了编译时期
2)解决了黄色警告线问题
3)避免了强制类型转换
4)提高程序的安全性
List<String> list = new ArrayList<String>();
Collection
List集合允许有重复元素、有序的。
Set则不允许有重复元素,而且是无序的。
List和Set都是接口,JDK没有提供任何直接实现的方式。
Collection的基本功能:
添加元素:
boolean add(Object e):添加任意的引用类型元素
删除元素:
boolean remove(Object o):删除指定的元素
void clear() :清空集合中的所有元素
判断功能:
boolean contains(Object o):判断是否包含指定的元素 包含就返回true,否则返回false
boolean isEmpty():判断集合是否为空,如果为空,则返回true,否则false
获取功能:
int size() :获取集合中的元素数
Object[] toArray():将集合进行遍历--->将集合转换成数组遍历(传统方式)
Iterator<Object> iterator() :获取Collection的集合的迭代器(集合的专有遍历方式)
Collection的高级功能
boolean addAll(Collection c):添加一个集合的元素
boolean removeAll(Collection c):删除一个集合的元素
boolean containsAll(Collection c):包含集合中的元素
boolean retainAll(Collection<?> c):针对集合交集
Collection和Collections的区别?
- Collection:是单列集合的顶层接口,是一个集合容器,存储元素!
- Collections:是一个类,针对集合操作的工具类
-
里面有排序的功能,有二分搜索法的功能,获取最值以及集合随机置换功能!
Collections
使用比较器排序对List集合中元素进行排序(如果自定义对象,必须要有排序条件)
public static <T> void sort(List<T> list, Comparator<? super T> c)
public static <T> void sort(List<T> list):自然排序(默认升序)
//二分搜索法:前提条件:针对数组/集合有序的!
public static <T> int binarySearch(List list, T key):在List集合查询指定key的角标值
public static <T> T max():获取集合中的最大值
public static <T> T min() :获取集合中的最小值
public static void shuffle(List<?> list):随机置换