1.List接口使用代码举例
package com.yundait.Demo01;
import java.util.ArrayList;
import java.util.List;
public class ListDemo02 {
public static void main(String[] args){
//创建集合
List list = new ArrayList<>();
//1.添加数字数据(自动装箱)
list.add(20);
list.add(30);
list.add(40);
list.add(50);
list.add(60);
System.out.println("元素个数" + list.size());
System.out.println(list.toString());
//2.删除操作
//list.remove(0);通过下标方式删除
list.remove(new Integer(20));
System.out.println("元素个数" + list.size());
System.out.println(list.toString());
//3.subList方法;返回子集合,含头不含尾(左闭右开)
List subList = list.subList(1, 3);
System.out.println(subList.toString());
}
}
输出结果:
2.List实现类介绍
3.ArrayList使用代码示例
重写Student类的equals方法:
package com.yundait.Demo01;
/**
*
*学生类
* @author zhang
*/
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
public boolean equals(Object obj) {
//1.判断是不是同一个对象
if (this==obj){
return true;
}
//2.判断是否为空
if (obj==null){
return false;
}
//3.判断是否为Student类型
if (obj instanceof Student){
Student s = (Student)obj;
//4.比较属性
if (this.name.equals(s.getName())&&this.age == s.getAge()){
return true;
}
}
//5.不满足条件返回false
return false;
}
}
package com.yundait.Demo01;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
public class ArrayListDemo01 {
public static void main(String[] args) {
//创建集合
ArrayList arrayList = new ArrayList<>();
//1.添加元素
Student s1 = new Student("刘德华",20);
Student s2 = new Student("郭富城",22);
Student s3 = new Student("梁朝伟",24);
Student s4 = new Student("甄子丹",18);
arrayList.add(s1);
arrayList.add(s2);
arrayList.add(s3);
arrayList.add(s4);
System.out.println("元素个数" + arrayList.size());
System.out.println(arrayList.toString());
//2.删除元素
//arrayList.remove(s1);
arrayList.remove(new Student("刘德华",20)); //要想以这种方式删除需要重写equals方法
System.out.println("删除之后元素个数" + arrayList.size());
System.out.println(arrayList.toString());
//3.遍历
//3.1 使用Iterator进行遍历
System.out.println("--------3.1 使用Iterator进行遍历---------");
Iterator it = arrayList.iterator();
while (it.hasNext()){
Student s = (Student)it.next();
System.out.println(s.toString());
}
//3.2使用ListIterator进行正序遍历
System.out.println("----------3.2使用ListIterator进行正序遍历-----------");
ListIterator lit= arrayList.listIterator();
while(lit.hasNext()){
Student s = (Student) lit.next();
System.out.println(s.toString());
}
//3.3使用ListIterator进行逆序遍历
System.out.println("----------3.2使用ListIterator进行逆序遍历-----------");
while (lit.hasPrevious()){
Student s = (Student) lit.previous();
System.out.println(s.toString());
}
//4.判断
//要实现一下方式删除的前提也是需要重写equals方法
System.out.println(arrayList.contains(new Student("梁朝伟",24)));
System.out.println(arrayList.isEmpty());
//查找元素位置
System.out.println(arrayList.indexOf(new Student("梁朝伟",24)));
}
}
输出结果: