集合与数组的区别
区别:
1.数组的长度是固定的,集合的长度是可变的.
2.数组中储存的都是同一类型的元素,可以储存基本数据类型(引用数据类型).集合存储的都是对象.而且对象类型可以不一致,在开发中一般当对象多的时候,使用集合进行存储.
Collection集合的常用功能
什么是Collection集合?
Collection集合是 单类集合的根接口,用于存储一系列符合某种规则的元素它有两个重要的子接口,分别是
java.util.List 和 java.util.Set 。其中, List 的特点是元素有序、元素可重复.Set 的特点是元素无
序,而且不可重复。 List 接口的主要实现类有 java.util.ArrayList 和 java.util.LinkedList , Set 接口的主要实现类有 java.util.HashSet 和 java.util.TreeSet
Collection常用功能:
public boolean add(E e) :把对象添加到当前集合中.
public void clear (): 清空当前集合
public boolean remove(): 把给定的对象在当前集合中删除
public boolean contains(E e): 判断当前集合中是否有该元素.
public boolean isEmpty(): 判断集合是否为空.
public int size() : 返回集合中元素个数.
public Object[] toArray(): 把集合中的元素,储存到数组中.
使用迭代器对集合进行取元素
什么是迭代器?
在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口
java.util.Iterator 。 Iterator 接口也是Java集合中的一员,但它与 Collection 、 Map 接口有所不同,
Collection 接口与 Map 接口主要用于存储元素,而 Iterator 主要用于迭代访问(即遍历)Collection 中的元素,因此 Iterator 对象也被称为迭代器。
获取迭代器方法:
public Iterator iterator():获取集合对应的迭代器,来遍历元素
迭代:即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。
Iterator接口常用方法:
public E next():返回迭代的下一元素.
public boolean hasNext():如果仍有元素可以迭代,返回true.
使用集合存储自定义类型
Arraylist<Person>......
使用foreach循环遍历集合
什么是 foreach循环
foreach循环也叫增强for循环,是JDK1.5之后出现的新特性,专门用来遍历数组和Iterable接口实例(包括例如集合),它的内部原理其实是Iterator迭代器,所以不能对元素进行增删操作.
支持数组
支持java.lang.Iterable接口实例(包括例如集合)
for(元素的数据类型 变量 : Collection集合or数组){
//写操作代码
}
使用泛型定义集合对象
泛型的三种用法:
1. 泛型类
格式:修饰符 class 类名称<泛型> {...}
2. 泛型接口
格式:修饰符 interface 接口名称<泛型> {...}
3. 泛型方法
格式:修饰符 <泛型> 返回值类型 方法名称(参数类型 参数名称, ...) {...}
什么是泛型?
泛型:可以在类或方法中预支地使用未知的类型。
泛型的好处:
将运行时期的ClassCastException,转移到了编译时期变成了编译失败。
避免了类型强转的麻烦。
例子:ArrayList<String> list = new ArrayList<String>();
泛型上下限
泛型通配符:
<?>
泛型的上下限实际就是指定泛型的一个上限或者下限.
泛型的上限:
格式: 类型名称 <? extends 类 > 对象名称
意义: 只能接收该类型及其子类
泛型的下限:
格式: 类型名称 <? super 类 > 对象名称
意义: 只能接收该类型及其父类型
阐述泛型通配符的作用
当使用泛型类或者接口时,传递的数据中,泛型类型不确定,可以通过通配符<?>表示。但是一旦使用泛型的通配符后,只能使用Object类中的共性方法,集合中元素自身方法无法使用.
泛型的通配符:不知道使用什么类型来接收的时候,此时可以使用?,?表示未知通配符。
Collections工具类
public static void shuffle(List<?> list):随机排列,打乱顺序。
来源:CSDN
作者:米其林先生
链接:https://blog.csdn.net/qq_42690567/article/details/81395797