1.简介
-
ArrayList是实现List接口的,底层采用数组实现。
-
ArrayList 实现了Cloneable接口,即覆盖了函数clone(),能被克隆。
-
ArrayList 实现java.io.Serializable接口,这意味着ArrayList支持序列化,能通过序列化去传输。
方法:
2. 方法解释
(1)contains(Object o)
说明:判断该ArrayList中是否包含指定的内容。该方法内部调用indexOf(),如果indexOf()可以查找到该内容返回true,否则返回false。
注意:记得也要重写自定义类型的equals()方法。
private static void Test_contains(){
Persion p1 = new Persion("张三");
Persion p4 = new Persion("张12三");
Persion p2 = new Persion("张三3");
Persion p3 = new Persion("张三3");
ArrayList<Persion> list = new ArrayList<>();
list.add(p1);
list.add(p4);
list.add(p2);
System.out.println(list.contains(new Persion("张12三")));
}
(2)lastIndexOf(Object o)
说明:查找给定元素最后一次的位置。也就是说 倒序查找该ArrayList中第一次出现给定元素的位置。存在返回具体的位置,不存在返回-1。
实现:内容采用倒序遍历Object[]方式进行查找。
注意:与indexOf(Object o)方法描述的注意点一样,都需要重写自定义类型的equals()方法。
private static void Test_laseIndexOf(){
Persion p1 = new Persion("张三");
Persion p2 = new Persion("张12三");
Persion p3 = new Persion("张三3");
Persion p4 = new Persion("张三");
Persion p5 = new Persion("张三3");
ArrayList<Persion> list = new ArrayList<>();
list.add(p1);
list.add(p2);
list.add(p3);
list.add(p4);
list.add(p5);
System.out.println(list.lastIndexOf(new Persion("张三")));
}
</