集合(collection):也被称为容器;是一种可以容纳(包含,管理)其他对象的对象,被包含的对象称为元素(elements);
集合有很多种:
数组:
链表:
栈:
队列:
树:
图:
java中对集合进行了统一的管理,被称为集合框架;
集合框架包含了多个接口,实现类,算法类;
两个顶层接口:所有集合都继承了这两个接口中的一个;
Collection:处理单独的元素;
Map:元素是成对弧线的(key-value);
Collection接口
1.集合框架中两个顶层接口之一;
2.Collection下有LIst(有下标),Set(无下标,不可重复),QUeue子接口,并且没有直接的实现类;
3.Collection中定义类所有集合类中共同拥有的方法;
思考:
集合是一种容器,可以增删改查(CURD);
void add(Object);
void addAll(Collection);
void remove(Object);
void remove(Collection);
void delete(Object);
void replace(Object,Object);
int size();
void clear();
boolean isEmpty();
boolean contains(Object);
boolean containsAll(Collection);
iterator();
Object toArray();
toString();
a = [1,2,3,4,5];
b = [1,2];
a.containAll(b);
a.retainAll(b);
List接口
List是Collection的子接口,具备的特点:有序(索引),可重复;
List具备Collection中定义的所有方法,同时增加一些新方法;
delete(index);
add(int index,Object value);
addAll(int index,Collection);
set(index,Object);
get(index);
remove(index);
subList(begin,end);
indexOf(object);
lastIndexOf(Object);
ArrayList
ArrayList是List接口的实现类,可以称它为动态数组;
缺点:元素的类型是Object;
1.取元素时必须做类型转换;
2.没有类型安全的检查;
泛型
什么是泛型:
泛型指的就是数据类型的参数化;
如何使用:
List<数据类型> list;
List<String> list;
List<Person> ps;
List<Integer> nums;
List<String> l = new ArraryList<>{};