list的使用
对数组查询次数多:ArrayList
对数组修改次数多:LinkedList(随机访问效率更低)
数组需要更加安全:Vector
数组不需要更加安全:ArrayList或者LinkedList
当需要使用list时,但不确定时用 ArrayList
常见list的基本使用操作:
1)、int size()//返回集合的长度;
2)、boolean isEmpy();//集合是否为空;
3)、boolean contains(Object o);//如果此列表包含指定的元素,则返回 true。;
4)、boolean add(E e);//增加元素;
5)、boolean remove(Object o);//删除元素;
6)、E get(int index);//获得指定位置上的元素;
7)、int indexOf(Object o);//返回此列表中指定元素最后一次出现的索引,如果此列表不包含该元素,则返回 -1;
8)、Iterator<E> iterator()//返回一个迭代器 。
private只能用于成员变量和成员函数前,只有在类的内部才可以访问 ,类的内部指类的成员函数和定义初始化,此限制是对类的不是对象。
容器类
ArrqyList<String> notes = new ArrayList<String> ();
ArrqyList是容器类型 <>中的为元素的类型
父类中的private不能再子类中使用,可将其改为protected(同一个包内可以使用);
如果子类和父类中出现同名的成员变量,两者没有任何关系。
//使用迭代器打印学生信息,只打印出年龄大于20的学生信息
//只打印出男生的学号加姓名
//打印zhangsan的信息,若没有则提示没有改学生信息
package list;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Liste {
public static void main(String[] args) {
// TODO Auto-generated method stub
List list = new ArrayList<Student>();
Student student1 = new Student(1001,"zhangsan",19,true,1230);
Student student2 = new Student(1002,"w",17,false,1234);
Student student3 = new Student(1003,"t",15,true,1235);
list.add(student1);
list.add(student2);
list.add(student3);
Iterator it = list.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
it = list.iterator();
while(it.hasNext()) {
Student student = (Student)it.next();
if(student.age >20) {
System.out.println(student);
}
}
it = list.iterator();
while(it.hasNext()) {
Student student = (Student)it.next();
boolean ture = false;
if((boolean)student.sex ==ture) {
System.out.println("name=" + student.name + " number=" + (int)student.number);
}
}
it = list.iterator();
boolean f =true;
while(it.hasNext()) {
Student student = (Student)it.next();
if(student.name .equals("zhangsan")) {
System.out.println("name=" + student.name + " number=" + (int)student.number);
f=false;
}
}
if(f) {
System.out.println("bucunzai");
}
}
}
package list;
public class Student {
Integer number;
String name;
Integer age;
Boolean sex;
Integer telephone;
public Student(Integer number, String name, Integer age, Boolean sex, Integer telephone) {
super();
this.number = number;
this.name = name;
this.age = age;
this.sex = sex;
this.telephone = telephone;
}
public Integer getNumber() {
return number;
}
public void setNumber(Integer number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Boolean getSex() {
return sex;
}
public void setSex(Boolean sex) {
this.sex = sex;
}
public Integer getTelephone() {
return telephone;
}
public void setTelephone(Integer Telephone) {
this.telephone = Telephone;
}
public String toString() {
return "Student age=" + age + "telephone=" + telephone+ " name=" + name + "number=" + number + "sex=" + sex;
}
}