集合框架
集合
- 概念:对象的容器,定义了对多个对象进行操作的常用方法,可实现数组的功能
- 和数组的区别
1)数组长度固定,集合不固定
2)数组可存基本类型和引用类型,集合只能存引用类型
- 集合的位置:java.util.*;
Collection体系集合
![]()
Collection父接口
/**
* Collection保存字符串
*/
public class Test {
public static void main(String[] args){
//创建对象
Collection collection = new ArrayList();//ArrayList是List的实现类,List继承Collection
//1) 添加元素
collection.add("张三");
collection.add("李四");
collection.add("王五");
System.out.println(collection.size());//输出集合的元素个数
System.out.println(collection.toString());//输出集合字符串
//2)删除元素
collection.remove("张三");
System.out.println(collection.toString());
//3)遍历元素 第一种增强for
for (Object object: collection) {
System.out.println(object);
}
/*
第二种 迭代器:专门用来遍历集合
hasNext()有没有下一个元素
next()获取下一个元素
remove()删除当前元素
*/
Iterator i = collection.iterator();//Iteratar遍历集合的接口
while (i.hasNext()){
String s = (String) i.next();//强转
System.out.println(s);
}
//判断
System.out.println(collection.contains("张三"));//contains方法判断有没有某个元素
System.out.println(collection.isEmpty());//判断集合是否为空
}
}
/**
* Collection保存学生信息
*/
public class Test {
public static void main(String[] args){
//新建Collection对象
Collection c = new ArrayList();
//添加学生数据
Student s1 = new Student("张三",20);
Student s2 = new Student("李四",19);
Student s3 = new Student("王五",19);
c.add(s1);
c.add(s2);
c.add(s3);
System.out.println(c.size());
System.out.println(c.toString());
//删除学生数据
c.remove(s1);
//遍历学生数据
Iterator i = c.iterator();
while (i.hasNext()){
Student str = (Student) i.next();//强转
System.out.println(str.toString());
}
}
}
List集合
public class Test {
public static void main(String[] args){
//创建对象
List list = new ArrayList();
//添加元素
list.add("苹果");
list.add("小米");
list.add(0,"华为");
System.out.println(list.size());
System.out.println(list.toString());
//删除元素
list.remove("小米");
//遍历元素 1)for循环
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));//根据角标获取元素
}
//ListIterator可以向前向后遍历,可添加,删除
ListIterator lit = list.listIterator();
while (lit.hasNext()){
System.out.println(lit.nextIndex()+":"+lit.next());
}
while (lit.hasPrevious()){
System.out.println(lit.previousIndex()+":"+lit.previous());
}
//判断
System.out.println(list.contains("苹果"));//判断某个元素是否存在
System.out.println(list.isEmpty());//判断是否为空
//获取位置
System.out.println(list.indexOf("苹果"));
}
}