1、概念:集合是对象的容器,实现了对对象常用的操作,类似数组的功能
2、与数组的区别:
- 数组长度固定,集合长度不固定
- 数组可以存储基本类型和引用类型,集合只能存储引用类型(集合可以通过装箱实现基本类型的存储)
特点:代表一组任意类型的对象,无序、无下标、不能重复。(不完全是无的,含可重复项List)
方法:
1.bollean | add(E e) | 确保此collection 包含指定的元素(可选操作)
//创建集合
Collection collection = new ArrayList();
//1.添加元素
collection.add("苹果");
//2.删除元素
collection.remove("苹果");//单个
collection.clear();//清空
//3.遍历元素(重点)
//3.1 使用增强for(不用for是因为集合没有下标)
for(Object object : collection){
sout(object);
}
//3.2 使用迭代器(迭代器是专门用来遍历集合的一种方式)
//Iterator接口是对collection进行迭代的迭代器
//haNext(); 有没有下一个元素
//next(); 获取下一个元素
//remove(); 删除当前元素
Iterator it = collection.iterator();
while(it.haNext()){
String s = (String)it.next();//类型强转换
sout(s);
}
//4.判断
sout(collection.contains()"西瓜");//判断集合里是否有西瓜
sout(collection.isEmpty());//判断集合里是否为空
三、List 接口与实现类
1、List 集合
特点:有序、有下标、元素可重复
方法:
psvm(String[] args){
//创建集合对象
List list = new ArrayList<>;
//1.添加元素
list.add("tang");
list.add(0,"mi");
sout("元素个数为:"+list.size());
sout(list.toString());
//2.删除元素
list.remove(0);//与list.remove("mi")相同
//3.遍历集合
//3.1 使用for循环遍历
for(int i=0;i
2、List实现类
ArrayList (重点)
数组结构实现,查询快、增删慢;运行效率快,线程不安全
public class Demo{
psvm(String[] args){
ArrayList arrayList = new ArrayList<>;
Student s1 = new Student("唐");
arrayList.add(s1);
sout(arrayList.toString());
arrayList.remove(s1);
Iterator iterator = arrayList.iterator;
while(iterator.hasNext()){
sout(iterator.next());
}//列表迭代器代码相同
sout(arrayList.isEmpty());
sout(arrayList.indexOf(s1));
}
}
Vector
数组结构实现,查询快,增删慢;运行效率慢,线程安全
linkedList
链表结构实现,增删快,查询慢
四、泛型和工具类
1.泛型的概述:
- 泛型的概念:其本质是参数化类型,把类型当做方法中的参数传递
- 常见形势:泛型类、泛型接口、泛型方法
- 语法:
T称为类型占位符,表示一种引用类型 - 优点:(1)提高代码的重用性 (2)防止类型转换异常,提高代码的安全性
2.泛型类 (Generic)
语法:类名 T是类型占位符,如果编写多个使用逗号隔开
public class MyGeneric {
//使用泛型T
//1.创建变量
T t; //T不可以new一个对象,因为不知道参数的类型
//2.添加方法,作为方法的参数
public void show(T t){
sout(t);
}
//3.泛型作为方法的返回值
public T getT() {
return t;
}
}
public class TestGeneric{
//使用泛型类创建对象
MyGeneric myGeneric = new MyGeneric();
myGeneric.t="hello";
myGeneric.show("大家好");//两个都可以赋值
String string = myGeneric.getT();//将值传回方法中
}
五、Set 接口与实现类
六、Map 接口与实现类 


