一 :什么是集合类?
java.util包中包含一些集合类,也被称为容器container。
集合类和数组的不同:集合类的长度是可变的,数组长度是不可变的;数组用来存放基本数据类型,集合用来存放对象的引用。
二:集合框架存在的意义?
- 可以直接将多个元素element置于一个单元中,用于对这些元素进行快速便捷的存储store,检索retrieve,管理manipulate,即常说的增删改查。
- 使用成熟的集合框架,有助于我们便捷,快速的写出高效,稳定的代码。
- 学习背后的数据结构知识,可以了解各个集合类的优缺点及使用场景。
三:集合类的继承关系
1.Collection (集合的最大接口)继承关系
Collection定义了集合框架的共性功能。用来存储管理一组对象objects,这些对象一般被称为元素elements;
——List 线性结构,可以存放重复的内容
——Set 不能存放重复的内容,所以的重复内容靠hashCode()和equals()两个方法区分
——Queue 队列接口
2.Collection常用方法练习
练习:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
public class CollectionDemo {
public static void main(String[] args){
//ArrayList是顺序表,这是一个向上转型
// 实际上new的对象是ArrayList,使用父类Collection类的引用来保存这个对象
//String是一个泛型参数,collection中包含着若干的String对下对象
// <>里面可以是合法数据类型,根据需要改为对应的类型
Collection<String> list=new ArrayList<>();
System.out.println(list.size());//返回集合中的元素个数 null
System.out.println(list.isEmpty());//判断是否为空集合 true
list.add("武");//插入一个String类型元素
((ArrayList<String>) list).add("汉");
((ArrayList<String>) list).add("加油");
System.out.println(list.size());//3
System.out.println(list.isEmpty());//false
//toArray:返回一个装有所有集合中元素的数组,可以把collect变成数组
Object [] array=list.toArray();
String string= Arrays.toString(array);
System.out.println(string);//数组不能直接被输出需要遍历,但是字符串可以
for (String s : list) {
System.out.println(s);
}
((ArrayList<String>) list).remove("加油");
System.out.println(list);
list.clear();//删除所有元素
System.out.println(list);
System.out.println(list.isEmpty());//true
}
}
输出结果:
0
true
3
false
[武, 汉, 加油]
武
汉
加油
[武, 汉]
[]
true
Process finished with exit code 0
tips:length,size;
数组元素个数:是属性; .length;
字符串获取字符个数:是方法: .length();
集合获取元素个数:是方法: .size();