Java集合一
1.数组与集合 之间的区别 :
共同点 : 存储多个数据
异同点 :
数组 :
引用数据类型,对象数据
定长的,长度一旦确定不可改变
存储的所有数据要求类型相同
有序的,可以根据索引进行操作的
可以存储多个重复数据
集合 | 容器 :
引用数据类型,对象数据
长度可以根据需求对数据进行操作而动态更新
集合中可以存储不同类型的数据,必须为引用数据类型
有些集合类型是有序的,有些集合类型是无序的
有些集合类型可以存储重复数据,有些集合类型不能存储重复数据(去重)
2.Collection :
集合层次结构中的根接口。
一个集合表示一组对象,称为它的元素。
一些集合允许重复元素,而另一些则不允许。
有些是有序的,有些是无序的
boolean add(E e)
确保此集合包含指定的元素(可选操作)。
boolean addAll(Collection<? extends E> c)
将指定集合中的所有元素添加到此集合(可选操作)。
void clear()
从此集合中移除所有元素(可选操作)。
boolean isEmpty()
如果此集合不包含任何元素,则返回true 。
boolean remove(Object o)
从此集合中移除指定元素的单个实例(如果存在)(可选操作)。
boolean removeAll(Collection<?> c)
移除此集合的所有也包含在指定集合中的元素(可选操作)。
boolean contains(Object o)
如果此集合包含指定元素,则返回true 。
boolean containsAll(Collection<?> c)
如果此集合包含指定集合中的所有元素,则返回true 。
boolean retainAll(Collection<?> c)
仅保留此集合中包含在指定集合中的元素(可选操作)。
int size()
返回此集合中的元素数。
Object[] toArray()
返回一个包含此集合中所有元素的数组。
Collection集合遍历方式 :
1.foreach
2.iterator迭代器
3.钻石运算符 | 泛型 : jdk1.5新特性
<类型>
将数据类型作为参数传递
在编译期间检测类型
作用 :
1.避免类型警告标识
2.避免类型转换异常的出现
格式 :
定义类的方式允许当前类型可以使用泛型 class ArrayList<E>
使用类型的时候,可以通过泛型传递具体的数据类型 ArrayList<String>
注意 : 泛型传递的数据类型都为引用数据类型
泛型发生在编译期间,运行期间无效(泛型擦除)
泛型的占位符可以为任意字符,一般常见 T,E,K,V,?....
T : TYPE 指代某种具体的类型
E : Element 指代元素的数据类型
K : Key 键值对中键的类型
V : Value 键值对中值的类型
? : 不确定的类型
//1.构建集合对象
ArrayList list = new ArrayList();
//2.调用方法操作集合
list.add(123);
list.add(123);
list.add(678);
System.out.println(list);
System.out.println(list.size());
System.out.println(list.get(0));
System.out.println(list.get(2));
list.add(987);
System.out.println(list.size());