(一)、集合 Collection
-
1.向集合中添加一个元素
Collection t1 = new ArrayList();
t1.add("Jack");
t1.add("Merry");
System.out.println(t1);
实际效果:
效果图1.png
-
2.向集合中删除一个元素
t1.remove("Jack");
System.out.println(t1);
实际效果:
效果图1.png
-
3.向集合中获取元素的个数
System.out.println(t1.size());
实际效果:
效果图1.png
-
4.判断集合中是否有某个元素
if(t1.contains("Merry")){
System.out.println("有Merry");
}else {
System.out.println("无Merry");
}
实际效果:
效果图1.png
-
5.判断集合是否为空
if(t1.isEmpty()){
System.out.println("是空的");
}else{
System.out.println("不是空的");
}
实际效果:
效果图1.png
-
6.判断两个集合是否相同
Collection t2 = new ArrayList<>();
t2.add("Jack");
t2.add("Merry");
if(t1.equals(t2)){
System.out.println("两个集合相同");
}else{
System.out.println("两个集合不相同");
}
实际效果:
效果图1.png
-
7.清空一个集合
t1.clear();
System.out.println(t1);
实际效果:
效果图1.png
-
8.集合的遍历
- 使用Iterator来遍历
- hasNext 判断是否有元素
- next 获取下一个对象
- remove 删除当前遍历过后的对象
- 注意:遍历过程中不要进行修改
Iterator iterator = t2.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
实际效果:
效果图1.png
(二)、ArrayList用法
-
1.添加数据.(两种方式)
ArrayList score = new ArrayList<>();
score.add(2);
score.add(2);//在末尾添加
score.add(0,1);//指定位置插入
System.out.println(score);
实际效果
效果图.png
-
2.访问特定元素
System.out.println(score.get(1));
实际效果
效果图.png
-
3.修改一个元素
score.set(0,0);
System.out.println(score);
实际效果
效果图.png
-
4.删除指定位置的元素
score.remove(0);//删除指定的元素
System.out.println(score);
score.remove((Integer)2);//删除指定的元素
System.out.println(score);
实际效果
效果图.png
-
5.删除所有元素
score.clear();//删除所有
System.out.println(score);
实际效果
效果图.png
-
6.将一个集合里面的内容添加到当前集合中
ArrayList a2 = new ArrayList<>();
a2.add(1);
a2.add(2);
a2.add(3);
score.addAll(a2);
System.out.println(score);
实际效果
效果图.png
-
7.取两个集合的交集
ArrayList a3 = new ArrayList<>();
a3.add(1);
a3.add(2);
score.retainAll(a3);
System.out.println(score);
实际效果
效果图.png
-
8.访问某个对象在集合里面的索引
ArrayList 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));//最后一次出现的位置
实际效果
效果图.png
-
9. 获取集合某个范围类的子集合
List integers =a4.subList(1,3);
System.out.println(integers);
实际效果
效果图.png
(三) 使用Lambda表达式
- 如果参数是一个接口对象,且接口里面只有一个方法
- 可以省略方法名
public class Myclass {
public static void main(String[] args) {
ArrayClass ac = new ArrayClass();
int[] num = {1,2,3,4,5,6};
ac.test(num,(int element)->{System.out.println(element);} );
}
}
class ArrayClass{
public void test(int[] target,Show s ){
for(int element:target){
s.customShow(element);
}
}
}
interface Show{
void customShow(int element);
}
实际效果
效果图.png
- 优势:不需要在创建一个对象实现接口方法,使得代码更加简单
(四)今日感受:
这两天学的东西很多,需要好好的整理一下,毕竟都是几个对象所含有的方法,必须熟练的掌握才能在后面的学习中更加轻松,每一天都感觉很累,但同样的也很充实。