Collection接口‘
从这里引出一个容器——集合
集合和数组的区别
集合长度可变
数组长度开始时以固定
集合可以储存多种类型元素
数组只能存储单一类型
List类 集合的三种遍历
public static void main(String[] args) {
Student s1 = new Student(“张三”, 25);
Student s2 = new Student(“李四”, 55);
Student s3 = new Student(“王麻子”, 15);
List a = new ArrayList();
a.add(s1);
a.add(s2);
a.add(s3);
Iterator i = a.iterator();//迭代
while (i.hasNext()){
Object next = i.next();
Student student =(Student)next;
System.out.println(student.getName()+student.getAge());
}
for (int i1 = 0; i1 < a.size(); i1++) {//for循环
Object o = a.get(i1);
Student student = (Student)o;
System.out.println(student.getName() + student.getAge());
}
ListIterator listIterator = a.listIterator();
while (listIterator.hasNext()){//列表迭代
Object next = listIterator.next();
Student student = (Student) next;
System.out.println(student.getName() + student.getAge());
}
}
}
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;
}
在集合元素增添上用迭代自己的add方法就不会报错
public static void main(String[] args) {
Student s1 = new Student("张三", 25);
Student s2 = new Student("李四", 55);
Student s3 = new Student("王麻子", 15);
List a = new ArrayList();
a.add(s1);
a.add(s2);
a.add(s3);
Iterator i = a.iterator();//迭代
while (i.hasNext()){
Object next = i.next();
Student student =(Student)next;
System.out.println(student.getName()+student.getAge());
}
for (int i1 = 0; i1 < a.size(); i1++) {//for循环
Object o = a.get(i1);
Student student = (Student)o;
System.out.println(student.getName() + student.getAge());
}
ListIterator listIterator = a.listIterator();
while (listIterator.hasNext()){//列表迭代
Object next = listIterator.next();
Student student = (Student) next;
System.out.println(student.getName() + student.getAge());
}
}
}
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;
}
list三个字类的特性
ArrayList:
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高。
Vector:
底层数据结构是数组,查询快,增删慢。
线程安全,效率低。
LinkedList:
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高
在选择的时候看性质选择