集合:
是一种工具类,是对象的容器,可以用于存储数量不等的多个对象的对象,代替数组。所有的集合接口和相关的实现类都在java.util包中
Conllection:元素是对象Object
List:元素按顺序存储(下表)元素可以重复(每一届世界杯冠军得主)
Set:元素无顺序,元素内容不可重复(哪一个国家拿过世界杯)
Conllection:
常用方法:
add(object)把元素添加到集合中
addAll(Collection c):把c集合中的所有元素添加到集合中
clear():清空集合
contains(Object o):判断o元素在集合是否存在
remove(Object o):从集合中删除元素o
size():返回集合的长度
toArray():将集合转化为数组
遍历
1、迭代器遍历 Collection 可以通过迭代器,删除集合中的元素
2、for-each Collection JDK5
3、forEach()方法 需要实现java.util.function.Consumer接口 JDK8
List:
常用方法(包括collection):
add(int pos,Object o):将元素插入到指定位置
remove(int pos):删除指定位置的元素
get(int pos):获得指定位置的元素
indexOf(Object o):获得o元素的首下标
lastIndexOf(Object o ):获得o元素的尾下标
set(int pos,Object o):将元素o设置到pos位置,覆盖原有的元素
subList(int start,int end):获得某段位置的子集合
List遍历
1、下标遍历 List
2、迭代器遍历 Collection 可以通过迭代器,删除集合中的元素
3、for-each Collocation JDK5
4、forEach()方法 需要实现java.util.function.Consumer接口
点击此处查看List遍历实例
List实现类
1、ArrayList 数组实现 查询快,增删慢。线程不安全。(并发效率高)JDK1.2
2、Vector 数组实现 线程安全。(并发效率低。)JDK1.0
3、LinkedList 链表实现,查询慢,增删快。
List排序:
Collections.sort(List):要求集合中的元素实现Comparable接口
Collections.sort(List,Comparator):Comparator比较器,实现排序逻辑,集合中的元素不需要实现comparable接口
List.sort(Comparator):直接对List调用sort方法排序,只能传入Comparator(来自JDK 8)
泛型:
泛型:JDK5集合泛型约束了集合中元素的类型
泛型没有多态,赋值语句前后泛型必须一致方法参数的泛型定义:
通配符 ?,用于方法形参
?:任何类型
? extends A: A或A的任何子类 (A可以是类,也可以是接口)
? super A: A或A的父类
泛型方法:泛型定义在修饰符之后,返回值类型之前
T为A或A的子类
<T extends A & B> T为A或A的子类,同时实现B接口