List,collection下的子接口。
List list=new ArrayList();
//插入的数据可重复
常用方法
.add //添加
.remave //删除
.indexof //获取下边
(通过new一个对象来删除或者查找与之内容相同的元素对象则需要在该对象内重写Object的equals方法)
public boolean equals(Object obj){
if (this==obj){
return true;
}
if (obj==null){
return false;
}
if(obj instanceof Student){
Student s=(Student) obj;
if (this.name.equals(s.getName()) && this.age==s.getAge()){
return true;
}
}
return false;
}
.toString
.iterator //用来返回list内的数据然后挨个打印,iterator内常用hasnext()判断是否还有值, //next()获取值,remove删除,获取元素只能向前获取
.listIterator //获取元素既可以向前又可以向后,从后往前方法为hasPrevious和previous
.isempty //判断是否为空
.contains() //判断是否有某个元素
public static void main(String[] args) {
ArrayList alist=new ArrayList();
Student s1 = new Student("小刘",10);
Student s2 = new Student("彭于晏",35);
Student s3 = new Student("胡歌",35);
Student s4 = new Student("吴彦祖",50);
//添加
alist.add(s2);
alist.add(s3);
alist.add(s1);
alist.add(s4);
System.out.println(alist.size());
System.out.println(alist.toString());
/*//删除
alist.remove(new Student("小刘",10));//若通过元素内容删除需要重写equals方法
System.out.println(alist.size());*/
//遍历
System.out.println("iterator遍历");
Iterator it = alist.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
System.out.println("listIterator从前往后遍历");
ListIterator lit = alist.listIterator();
while (lit.hasNext()){
System.out.println(lit.next());
}
System.out.println("listIterator从后往前遍历");
while (lit.hasPrevious()){
System.out.println(lit.previous());
}
//判断
System.out.println(alist.contains(new Student("小刘",10)));
//查找拿下表
System.out.println(alist.indexOf(new Student("小刘",10)));
}