知识点
数组:可以存储多个对象
例:
- int[] score ={1,2,3}
- int[] score = new int[]
弊端:数组的长度不可变 内容可变
实际开发中需要一个能够随时改变的素组 -> 集合
Collection
抽象接口 定义集合的相关操作
List 列表 数组 特点:有序 可重复
- ArrayList
*LinkerArrayList
Set “集合” 特点:无序 不重复
Map接口 Key-Value 隐射关系 键值对 键不能相同 值可以相同
- 集合的元素是可变的
- 添加元素
- add addall
- 删除元素
- remove
- 获取元素个数
- size
- 插入元素
- 是否包含某个元素
- contains
- 是否为空
- isEmpty
- 集合⽐比较
- equals
- 访问元素
- 清空
- clear
List接口 extends Collection
ArrayList
LinkArrayList
集合里面只能存放对象
bite char int long float doublie boolean
包装类 Byte Char Integer Long Float Double Boolean
自动将基本数据类型包装为对应的类
技术的使用
Collection接口的方法
Collection<String> t1 = new ArrayList();
t1.add("Jack");
t1.add("Merry");
System.out.println(t1);
删除一个对象
t1.remove("Jack");
System.out.println(t1);
获取元素个数
System.out.println(t1.size());
判断是否包含一个元素
if(t1.contains("Merry"))
{
System.out.println("有Merry");
}
else{
System.out.println("无Merry");
}
判断是否为空
if(t1.isEmpty()){
System.out.println("是空的");
}
判断俩集合是否相同
Collection<String> t2 = new ArrayList<>();
t2.add("Merry");
t2.add("Jack");
if(t1.equals(t2)){
System.out.println("两个集合相同");
}
else {
System.out.println("两个集合不相同");
}
清空
t1.clear();
System.out.println(t1);
集合的遍历
//1.使用Iterator来遍历
//hasNext 判断是否有元素
//next 获取下一个对象
//remov 删除当前遍历过后的对象
System.out.println("------------");
Iterator iterator = t2.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
// while (iterator.next() !=null){
// System.out.println(iterator.next());
// }
//2. for-each 增强的for循环 快速循环
System.out.println("------------");
for (String obj: t2){
System.out.println(obj);
}
//3. for-i
for(int i = 0; i < t2.size();i++ ){
System.out.println(((ArrayList<String>) t2.);
}
ArrayList<Integer> score = new ArrayList<>();
score.add(2);
score.add(3);//在某位添加
score.add(0,1);//在指定位置加入
System.out.println(score);
访问指定元素
score.get(1);
删除指定位置的元素
score.remove(0);
System.out.println(score);
score.remove((Integer)2);//删除指定元素
System.out.println(score);
score.clear();
System.out.println(score);
取交集
ArrayList<Integer> a3 = new ArrayList<>();
a3.add(1);
a3.add(2);
score.retainAll(a3);//取交集
System.out.println(score);
访问某个对象在集合里面的索引
ArrayList<Integer> a4 = new ArrayList<>();
a4.add(1);
a4.add(2);
a4.add(2);
a4.add(1);
System.out.println(a4.indexOf(1));//第一次的位置
System.out.println(a4.lastIndexOf(1));//最后一次出现的位置
将ArrayList转化为普通数组
Integer[] objects = new Integer[a4.size()];
a4.toArray(objects);
Iterator iterator = a4.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}